Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Importare dati con combo da un foglio diverso

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

Importare dati con combo da un foglio diverso

Postdi Sandro Siclari » 27/04/18 08:21

Buongiorno a tutti,premetto che mi avvicino ora alla automazione di excel con l'aiuto di VBA.
Vengo al dunque: da un libro in mio possesso di Romano Gallifuoco, traendo spunto da un esercizio proposto nel libro ho creato un mio magazzino. Ho creato un foglio denominato"Gestione Magazzino" con una combobox che con la proprietà "ListFillRange" m pesca i dati contenenti nel foglio articoli.Vorrei che all'evento change mi estrapoli i dati dalle descrizione articolo presente nella comb e me li trasferisse nel foglio "Gestione Magazzino" la macro che ho scopiazzato è la seguente:

Codice: Seleziona tutto
Private Sub CmbArticoli_Change()
R = Sheets(4).Rows.Count 'Foglio Articoli da dove voglio estrapolare
For y = 1 To R
  If CmbClifor.Text = ("B" & y) Then 'Descrizione articolo estrapolata dalla comb presente nel foglio dove importerò i dati
   
   ''============Sotto il foglio dove voglio importare i dati=======Sheets(1)"Gestione Magazzino
    Sheets(1).Cells(5, 3).Text = Sheets(4).Range("A" & y) 'Codice articolo della combo pescata
     Sheets(1).Cells(6, 7).Text = Sheets(4).Range("H" & y) 'Range("H" & y) del foglio articoli da dove desidero estrarre la  Giacenza
     Sheets(1).Cells(8, 6).Text = Sheets(4).Range("H" & y) 'Prezzo
   
  End If
Next

Non mi da errore di codice ma non sortisce alcun effetto.Spero tanto di essermi spiegato e Spero che qualche anima buona possa illuminarmi.Chiaramente qualcuno potrà suggerire di usare il metodo cerca.vert ma desidero utilizzare vie diverse poichè mi interessa molto imparare il vba in tutte le sue sfumature
Grazie anticipate e buona giornata a tutti
Sandro Siclari
Newbie
 
Post: 3
Iscritto il: 18/04/18 16:39

Sponsor
 

Re: Importare dati con combo da un foglio diverso

Postdi Anthony47 » 27/04/18 14:26

La comprensione di quanto pubblicato e' possibile solo avendo a disposizione un file dimostrativo contenenti un tot di dati nel formato effettivo.
Puoi preparare un piccolo file dimostrativo, contenente i dati, la struttura e la userform che hai realizzato?

Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao, ti aspettiamo.
Avatar utente
Anthony47
Moderatore
 
Post: 17794
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importare dati con combo da un foglio diverso

Postdi Sandro Siclari » 27/04/18 15:41

Certamente,ecco il mio file:

http://www.filedropper.com/magazzino_2
Sandro Siclari
Newbie
 
Post: 3
Iscritto il: 18/04/18 16:39

Re: Importare dati con combo da un foglio diverso

Postdi Anthony47 » 27/04/18 19:50

Mi sono limitato all'esame della Private Sub CmbArticoli_Change()

Nel tuo codice ci sono troppe cose che non quadrano per poter proporti con certezza la cosa giusta; procedo secondo quanto posso immaginare tu volessi fare.

Codice: Seleziona tutto
If CmbClifor.Text = "B" & y

Se paragoni il contenuto del textbox a un indirizzo non avrai mai una corrispondenza. Devi invece confrontare col contenuto di una cella di un certo foglio, cioe'
Codice: Seleziona tutto
If CmbClifor.Text = Sheets("Articoli").Range("B" & y) Then

Tuttavia non capisco perche' confronti, all'interno della Sub CmbArticoli_Change, il contenuto del combobox CmbClifor; secondo me volevi usare il contenuto dello stesso CmbArticoli. Quindi in realta' dovrebbe essere
Codice: Seleziona tutto
  If CmbArticoli.Text = Sheets("Articoli").Range("B" & y) Then


Nel tuo codice fai riferimento, per i dati dell'articolo scelto da estrapolare, a Sheets(4), che corrisponde al foglio Clienti; immagino invece che volessi far riferimento al foglio "Articoli". Per evitare equivoci suggerisco di usare il "Nome del Foglio"
Quindi, ad esempio, invece che
Sheets(1).Cells(5, 3).Text = Sheets(4).Range("A" & y) 'Codice articolo della combo
Userai
Codice: Seleziona tutto
   Sheets("Menu").Cells(5, 3).Text = Sheets("Articoli").Range("A" & y) 'Codice articolo della combo


NB: quando sarai piu' esperto allora ti suggeriro' di passare all'uso del "CodeName" del foglio, che ti consentira' di indirizzare i fogli in base al nome assegnatogli in fase di sviluppo. Nel tuo caso si tradurra' in
Codice: Seleziona tutto
   Foglio10.Cells(5, 3).Text = Foglio5.Range("A" & y) 'Codice articolo della combo


Infatti mentre "l'indice" del foglio o il "nome del foglio" possono cambiare per operazioni fatte nell'uso del foglio, il CodeName non cambia se non intervenendo all'interno del vba.
Fine NB

Modifica come detto anche le righe che importano la Giacenza e il Prezzo (nota che hai indicato colonna H sia per giacenza che per prezzo).

Infine, invece di confrontare su tutte le righe del foglio ti consiglio di fermarti alle sole righe usate; quindi invece che
R = Sheets(4).Rows.Count potresti usare
Codice: Seleziona tutto
R = Sheets("Articoli").Cells(Rows.Count, 1).End(xlUp).Row 'Foglio Articoli da dove voglio estrapolare


Ti suggerisco anche di limitare il caricamento dei valori del combobox al solo elenco presente in colonna B di Articoli, per facilitare la scelta della voce. Per questo scopo crei un "intervallo dinamico"; partendo da Menu /Formule /Gestione Nomi, io l'ho chiamato DESCRIZ e come "Riferito a" ho usato la formula
Codice: Seleziona tutto
=SCARTO(Articoli!$B$2;0;0;CONTA.VALORI(Articoli!$B$2:$B$1000);1)

Poi nelle proprieta' del Combobox CmbArticoli come ListFillRange ho impostato Articoli!DESCRIZ

Man mano che allunghi l'elenco il combobox mostrera' tutte le voci compilate.

Spero che con questi spunti potrai procedere...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17794
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Importare dati con combo da un foglio diverso

Postdi Sandro Siclari » 28/04/18 03:50

Grazie mille Anthony, mi sei stato veramente di grande aiuto,gentilissimo,buona giornata
Sandro Siclari
Newbie
 
Post: 3
Iscritto il: 18/04/18 16:39


Torna a Applicazioni Office Windows


Topic correlati a "Importare dati con combo da un foglio diverso":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti