Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Copiare prezzi in base a 2 criteri

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Copiare prezzi in base a 2 criteri

Postdi Alea » 05/03/12 13:51

Giorno a tutti
avrei una nuova richiesta se gentilmente qualcuno può aiutarmi.
File CB-TECH: nella cella T28 del foglio "QGL10.03b" ho un menù a tendina per scegliere il nome di una ditta (al momento solo 2 nomi).
In base al nome devo aprire un file che si chiama "Listino_Sfere" per copiare i prezzi situato nel percorso:
Perc = "G:\OFFERTE\ITALIANO"
in questo file ci sono 2 fogli: uno si chiama "Nico.Fer" e l'altro "Caltiber" (che sono i nomi scelti dalla tendina).
Quello che devo fare è copiare i prezzi che riguardano l'articolo scelto nella cella F5 del foglio "Riepilogo"
Un altro parametro da prendere in considerazione si trova nella cella B57 del foglio "Riepilogo".
In questa cella possono comparire queste sigle:
CBCM
CBCM-C
CBLM
CBLM-C

CBLM-LO
CBLM-LU
CBCM-SP

Per le prime 4 bisogna prendere il prezzo che si trova in colonna Q del file "Listino_Sfere"
Per le ultime 3 bisogna prendere il prezzo che si trova in colonna T del file "Listino_Sfere"

Altri 2 dati che devo copiare in base al nome del menù a tendina sono i prezzi che si trovano nelle celle C2 e C3 del file "Listino_Sfere":
- il dato di C2 deve essere copiato nel foglio "QGL.10.03b" nella cella GH18
- il dato di C3 deve essere copiato nel foglio "QGL.10.03b" nella cella GH23

Spero di essere riuscito a spiegare il mio quesito. Allego i files "incriminati":
Listino_Sfere.xls - 69.5 KB
CB-Tech_Clienti_2011-VI.xls - 2.1 MB

Grazie a tutti per qualsiasi aiuto
Ciao Ivan
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Sponsor
 

Re: Copiare prezzi in base a 2 criteri

Postdi Anthony47 » 05/03/12 15:14

Alcune cose le puoi fare con formula, ad esempio in GL18
Codice: Seleziona tutto
=INDIRETTO("[Listino_Sfere.xls]"&Ref!$T$154&"!$C$2")

Formula analoga in GL23

Per capire se lo stesso approccio puo' essere usato per i prezzi (prima parte del quesito), mi e' chiaro da dove questi vanno presi ma non ho capito dove vanno messi.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 05/03/12 15:26

Assolutamente si. è ottima come cosa perchè così si vende immediatamente il cambio di prezzi.

Ops... non hai capito dove va messo il prezzo per ché non te l'ho detto.
Cella IJ16. quella con la scritta in rosso per essere chiari
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 05/03/12 15:32

Mi sorge spontanea una domanda però.... come fa questa formula a sapere dove si trova il file "Listino_Sfere"????
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Anthony47 » 05/03/12 16:00

Il file Listino_Sfere deve essere aperto.

Non ho capito quale e' la cella "IJ16. quella con la scritta in rosso per essere chiari"; se e' sul foglio Riepilogo la formula per leggere il prezzo sara'
Codice: Seleziona tutto
=CERCA.VERT(F5;INDIRETTO("[Listino_Sfere.xls]"&Ref!$T$154&"!A1:Z1000");SE(O(B57="CBCM";B57="CBCM-C";B57="CBLM";B57="CBLM-C");17;20);0)


Nota che hai un problema in quanto nella F5 di Riepilogo io leggo "S-100/225", mentre nel file Listino_Sfere il codice e' riportato come "S - 100/225" (nota gli spazi aggiuntivi).

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 05/03/12 16:16

Anthony47 ha scritto:Il file Listino_Sfere deve essere aperto.

Urca... questo potrebbe essere "ingombrante" come metodo.

Anthony47 ha scritto:Non ho capito quale e' la cella "IJ16. quella con la scritta in rosso per essere chiari"; se e' sul foglio Riepilogo la formula per leggere il prezzo sara'
Codice: Seleziona tutto
=CERCA.VERT(F5;INDIRETTO("[Listino_Sfere.xls]"&Ref!$T$154&"!A1:Z1000");SE(O(B57="CBCM";B57="CBCM-C";B57="CBLM";B57="CBLM-C");17;20);0)

La scritta in rosso è nel foglio "QGL10.03b"

Anthony47 ha scritto:Nota che hai un problema in quanto nella F5 di Riepilogo io leggo "S-100/225", mentre nel file Listino_Sfere il codice e' riportato come "S - 100/225" (nota gli spazi aggiuntivi).
Ciao

Hai ragione... devo sistemare il file "Listino_Sfere"

Credi che si riesce a risolvere sempre con una formula il fatto di NON avere il file aperto oppure è necessario gestire il tutto con una macro?

Grazie
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Anthony47 » 05/03/12 23:44

Il file deve essere gia' aperto per poter usare quella formula; perche' giudichi ingombrante quel metodo?
In alternativa scrivi una formula un po' piu' articolata del tipo
Codice: Seleziona tutto
=SE(Ref!$T$154="Nico.Fer";' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Nico.Fer'!$K$11; SE(Ref!$T$154="Caltiber";' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Caltiber'!$K$11;"ZZ"))
Il problema potrebbe sorgere con molte piu' scelte di quelle che hai oggi.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 06/03/12 08:50

Intendevo dire che diventa controproducente se devo aprire il file Listino_Sfere ogni volta che utilizzo il CB-TECH.
In alternativa scrivi una formula un po' piu' articolata del tipo
CODICE: SELEZIONA TUTTO
=SE(Ref!$T$154="Nico.Fer";' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Nico.Fer'!$K$11; SE(Ref!$T$154="Caltiber";' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Caltiber'!$K$11;"ZZ"))

Non riesco a capire dove devo mettere questa formula anche perchè non capisco il riferimento alla cella $K$11.

Il problema potrebbe sorgere con molte piu' scelte di quelle che hai oggi.

Sicuramente in un futuro abbastanza prossimo dovrò aggiungere almeno altri 2 referenti
1. Nico.Fer
2. Caltiber
3. Prefabbricatore 1
4. Prefabbricatore 2
Se per te non è troppo disturbo preferisco avere una macro per gestire questa compilazione così nel caso in cui devo aggiungere altri referenti mi basta copiare e modificare solo il "nome base" del prefabbricatore.

Grazie
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Anthony47 » 07/03/12 00:31

=SE(Ref!$T$154="Nico.Fer";' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Nico.Fer'!$K$11; SE(Ref!$T$154="Caltiber";' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Caltiber'!$K$11;"ZZ"))

Questa voleva essere solo una formula per far vedere che in funzione del SE si poteva accedere a un foglio o a un altro del file Listino_Sfere, evitando l' uso di INDIRETTO (e' la funzione che poi richiederebbe che il file sia aperto); ovviamente nella parte "Se vero" andava la formula del Cerca.Vert, avrei fatto meglio a sciverlo pero'. Insomma:
Codice: Seleziona tutto
=SE(Ref!$T$154="Nico.Fer";CERCA.VERT(F5;' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Nico.Fer'!A1:Z1000;SE(O(B57="CBCM";B57="CBCM-C";B57="CBLM";B57="CBLM-C");17;20);0); SE(Ref!$T$154="Caltiber";CERCA.VERT(F5;' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Caltiber'!A1:Z1000;SE(O(B57="CBCM";B57="CBCM-C";B57="CBLM";B57="CBLM-C");17;20);0);"ZZ"))

Quando aggiungi altri costruttori sostituirai "ZZ" (il secondo "Se Falso" con ulteriori
SE(Ref!$T$154="Xyz";CERCA.VERT(F5;' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Xyz'!A1:Z1000;SeFalso??)

Volendo puoi rimanere sulla formula con Indiretto, e inserire questo codice in ThisWorkbook di CB-TECH.xls
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Workbooks("Listino_Sfere.xls").Close Savechanges:=False
End Sub

Private Sub Workbook_Open()
    Workbooks.Open Filename:= _
        "G:\OFFERTE\ITALIANO \Listino_Sfere.xls", ReadOnly:=True
End Sub
In questo modo quando apri CB-TECH apri anche Listino_Sfere in modalita' read only, e lo chiudi quando chiudi CB-TECH.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 07/03/12 08:00

Grazie mille Anthony
sta mattina provo e poi ti faccio sapere.

Ciao
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 07/03/12 14:30

Eccomi qua
ho provato con la formula INDIRETTO e funziona; diciamo che sarebbe un'alternativa.
Con l'altro metodo invece non funziona:
Codice: Seleziona tutto
=SE(Ref!$T$154="Nico.Fer";CERCA.VERT(C16;' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Nico.Fer'!A1:Z1000;SE(O(Riepilogo!$B$57="CBCM";Riepilogo!$B$57="CBCM-C");17;20);0); SE(Ref!$T$154="Caltiber";CERCA.VERT(C16;' G:\OFFERTE\ITALIANO \[ Listino_Sfere.xls]Caltiber'!A1:Z1000;SE(O(Riepilogo!$B$57="CBCM";Riepilogo!$B$57="CBCM-C");17;20);0);"ZZ"))

Ho soltanto modificato i riferimenti della formula perchè la stessa deve stare nel foglio QGL10.03b mentre appunto i riferimenti sono nel foglio Riepilogo.

Purtroppo mi devo ripetere. Secondo me sarebbe più comodo non dover aprire (o avere aperto) il file Listino_Sfere. Credi che si riesca a sistemare questa formula per farla funzionare?
Domandona: ma da te funziona?
Grazie
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Anthony47 » 07/03/12 23:14

Non ho una rete con G:\OFFERTE\ITALIANO su cui caricare Listino_Sfere.xls. Puoi semplificare la scrittura e il debug della formula in questo modo:
-parti col file Listino_Sfere aperto
-parti con la semplice formula =Se(Ref!$T$154="Nico.Fer"; CERCA.VERT(C16;[ Listino_Sfere.xls]Nico.Fer!A1:Z1000;17;0);"ZZ")
-per scrivere la formula usa il mouse per selezionare il file, il foglio e l' area della Cerca.Vert, in modo da avere la sintassi giusta.
-quando funziona aggiungi la parte SE(O(Riepilogo!$B$57="CBCM";Riepilogo!$B$57="CBCM-C");17;20) per variare la colonna prescelta a seconda del contenuto di Riepilogo!B57.
-quando funziona sostituisci "ZZ" (la parte "Se Falso") copiandovi la prima parte della formula (Se(Ref!$T$154="Nico.Fer";etc etc fino a "ZZ" compreso); poi dovrebbe bastare sostituire Nico.Fer con Caltiber e la formula dovrebbe funzionare.
-preso dall' entusiasmo potresti provare a inserire in formula altri due fornitori, ripetendo quanto fatto per Caltiber. Non ti ricordo che man mano che aggiungi altri "Se" subordinati dovrai pareggiare in coda con altri ")".
-quando sembra funzionare tutto, chiudi il file Listino_Sfere; la formula dovrebbe automaticamente modificarsi trasformando la parte (ad esempio) [ Listino_Sfere.xls]Nico.Fer!A1:Z1000 in ; G:\OFFERTE\ITALIANO\[ Listino_Sfere.xls]Nico.Fer!A1:Z1000.
-prova e controlla se il funzionamento e' corretto anche su drive di rete (G: e' un drive di rete, vero?).
-se non funziona su drive di rete prova (solo per prova) a salvare Listino_Sfere sul tuo stesso Pc e verifica se in quel modo ti funziona (apri Listino_Sfere con CB-TECH aperto; Salva con nome sul drive C; verifica che le formule puntino ora al tuo C:\Percorso\[Listino_Sfere]Etc etc).

In quanto a tenere il file Listino_Sfere aperto, come dovrebbe fare il codice che ti ho passato ieri sera, esattamente cos' e' che ti ambascia?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 08/03/12 14:08

Bene bene sono riuscito grazie alla tua spiegazione:
Codice: Seleziona tutto
=SE(Ref!T154="Nico.Fer";CERCA.VERT(QGL10.03b!C16;[Listino_Sfere.xls]Nico.Fer!A1:Z1000;SE(O(Riepilogo!$B$57="CBCM";Riepilogo!$B$57="CBCM-C");17;20);0);SE(Ref!T154="Caltiber";CERCA.VERT(QGL10.03b!C16;[Listino_Sfere.xls]Caltiber!A1:Z1000;SE(O(Riepilogo!$B$57="CBCM";Riepilogo!$B$57="CBCM-C");17;20);0);"ZZ"))


Per il fatto di tenere il file aperto non è tanto perché a me da fastidio, più che altro sono i miei colleghi che dovendo usare loro questo file allora chiedono e pensano che sia tutto facile. Invece non è così. (e diciamocela tutta "pretendono" che sia fatto come dicono loro).

Comunque sia siamo riusciti nell'intento e questo è merito tuo

Ciao e grazie infinite per la disponibilità e la pazienza.
Ivan
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 08/03/12 14:08

Bene bene sono riuscito grazie alla tua spiegazione:
Codice: Seleziona tutto
=SE(Ref!T154="Nico.Fer";CERCA.VERT(QGL10.03b!C16;[Listino_Sfere.xls]Nico.Fer!A1:Z1000;SE(O(Riepilogo!$B$57="CBCM";Riepilogo!$B$57="CBCM-C");17;20);0);SE(Ref!T154="Caltiber";CERCA.VERT(QGL10.03b!C16;[Listino_Sfere.xls]Caltiber!A1:Z1000;SE(O(Riepilogo!$B$57="CBCM";Riepilogo!$B$57="CBCM-C");17;20);0);"ZZ"))


Per il fatto di tenere il file aperto non è tanto perché a me da fastidio, più che altro sono i miei colleghi che dovendo usare loro questo file allora chiedono e pensano che sia tutto facile. Invece non è così. (e diciamocela tutta "pretendono" che sia fatto come dicono loro).

Comunque sia siamo riusciti nell'intento e questo è merito tuo

Ciao e grazie infinite per la disponibilità e la pazienza.
Ivan
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copiare prezzi in base a 2 criteri

Postdi Anthony47 » 09/03/12 01:28

Comunque sia siamo riusciti nell'intento e questo è merito tuo
Troppo buono.
Pero' ho visto che hai saltato le istruzioni "preso dall' entusiasmo potresti provare etc etc"... :D

Hai verificato se funziona anche chiudendo Listino_Sfere.xls?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare prezzi in base a 2 criteri

Postdi Alea » 09/03/12 08:35

hehehe... in effetti quella parte l'ho saltata ma solo per motivi di tempo. prometto che lo farò :lol:
comunque funziona anche chiudendo il file Listino_Sfere e viene memorizzato il percorso.

Visto che ci sono mi chiedevo se utilizzando sempre formule di questo tipo si potesse fare la stessa cosa con altri prezzi.
Su questo post
viewtopic.php?f=26&t=93925
mi ha risposto Flash con una macro
Credi che si può fare qualcosa?
Ti allego il file dei prezzi
Listino_Prezzi_PSB.xls - 108.5 KB

PS: giusto per dire; mi piacerebbe avere tutto un po' più omogeneo nel senso o tutte macro o tutte formule almeno per quanto riguarda i prezzi.
Grazie intanto
Ciao
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12


Torna a Applicazioni Office Windows


Topic correlati a "Copiare prezzi in base a 2 criteri":


Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti