Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL VBA - Autocompilazione Foglio da Tabella

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

EXCEL VBA - Autocompilazione Foglio da Tabella

Postdi Valerio93 » 02/03/16 13:28

Salve a tutti,
Ho bisogno del vostro aiuto per trovare una soluzione a quanto segue:
Ho un Foglio che chiameremo "DB" nel quale vengono archiviati una serie di dati su Riga, identificati tutti da un codice diverso e progressivo.
La mia necessita è quella di, attraverso la ricerca mediante textbox del sopra citato codice, compilare un altro foglio dello stesso file, con i dati presenti su tutta la riga corrispondente al codice inserito nella textbox. Ovviamente avendo la possibilità di definire per ogni Dato della riga in quale cella del foglio di destinazione deve essere inserito. Ipotizzando che la riga abbia 5 colonne di dati.

Esemplificando:
Cerco in "DB" il Codice "A0005" immesso nella TexBox a partire dalla Riga 1 nella Colonna 1, questo corrisponde alla Riga 5;
Le celle della riga 5 di interesse sono date dall'intervallo (A2:E2);
Metto il valore della cella A2 nella cella X1 del "FoglioX"
E così a seguire.

Si può fare o è soltanto una mia utopia?
Grazie in anticipo!
Valerio93
Newbie
 
Post: 6
Iscritto il: 07/09/15 09:16

Sponsor
 

Re: EXCEL VBA - Autocompilazione Foglio da Tabella

Postdi wallace&gromit » 02/03/16 13:31

Sicuramente si può fare, ma mi sono perso nei tuoi riferimenti, sarebbe meglio se tu allegassi un file d'esempio, per essere sicuri di capire bene dove pescare e devono finire i vari elementi.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1419
Iscritto il: 16/01/12 14:21

Re: EXCEL VBA - Autocompilazione Foglio da Tabella

Postdi Valerio93 » 02/03/16 16:28

TI ho mandato un MP!
Grazie
Valerio93
Newbie
 
Post: 6
Iscritto il: 07/09/15 09:16

Re: EXCEL VBA - Autocompilazione Foglio da Tabella

Postdi wallace&gromit » 03/03/16 11:30

Ho proposto a Valerio questa macro, che funziona ma è lentissima.
Qualcuno sa dirmi perché?
Codice: Seleziona tutto
Sub compila()
Application.ScreenUpdating = False

UR = Worksheets("DB").Cells(Rows.Count, 1).End(xlUp).Row
FAtt = ActiveWorkbook.ActiveSheet.Name
trovato = 0
cerca = Worksheets(FAtt).TextBox1
For i = 1 To UR
If Worksheets("DB").Cells(1, 1).Offset(i, 0) = cerca Then
Worksheets("DB").Cells(i + 1, 1).Copy
Worksheets(FAtt).Cells(4, 2).PasteSpecial Paste:=xlPasteValues
Worksheets("DB").Cells(i + 1, 2).Copy
Worksheets(FAtt).Cells(6, 2).PasteSpecial Paste:=xlPasteValues
Worksheets("DB").Cells(i + 1, 3).Copy
Worksheets(FAtt).Cells(8, 2).PasteSpecial Paste:=xlPasteValues
Worksheets("DB").Cells(i + 1, 4).Copy
Worksheets(FAtt).Cells(6, 4).PasteSpecial Paste:=xlPasteValues
Worksheets("DB").Cells(i + 1, 5).Copy
Worksheets(FAtt).Cells(8, 4).PasteSpecial Paste:=xlPasteValues
trovato = trovato + 1
End If

Next i
Application.ScreenUpdating = True


Select Case trovato
Case 0
MsgBox ("Elemento non trovato")

Case Is > 1
MsgBox ("ATTENZIONE! È stata trovata più di un'occorrenza della voce cercata")

End Select


End Sub


Se volete vedere il file di prova lo trovate qui:
http://www.filedropper.com/copiadiesempio
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1419
Iscritto il: 16/01/12 14:21

Re: EXCEL VBA - Autocompilazione Foglio da Tabella

Postdi Anthony47 » 03/03/16 11:44

Non ho ancora guardato il file, ma potresti provare a modificare
da
Worksheets("DB").Cells(i + 1, 1).Copy
Worksheets(FAtt).Cells(4, 2).PasteSpecial Paste:=xlPasteValues

a
Codice: Seleziona tutto
Worksheets(FAtt).Cells(4, 2).Value = Worksheets("DB").Cells(i + 1, 1).Value

Da ripetere per tutte le situazioni.

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: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL VBA - Autocompilazione Foglio da Tabella

Postdi wallace&gromit » 03/03/16 11:59

Eh sì, mi sono complicato la vita da solo.
ecco la nuova macro, rapidissima:
Codice: Seleziona tutto
Sub compila()
Application.ScreenUpdating = False

UR = Worksheets("DB").Cells(Rows.Count, 1).End(xlUp).Row
FAtt = ActiveWorkbook.ActiveSheet.Name
trovato = 0
cerca = Worksheets(FAtt).TextBox1
For i = 1 To UR
If Worksheets("DB").Cells(1, 1).Offset(i, 0) = cerca Then
Worksheets(FAtt).Cells(4, 2).Value = Worksheets("DB").Cells(i + 1, 1).Value
Worksheets(FAtt).Cells(6, 2).Value = Worksheets("DB").Cells(i + 1, 2).Value
Worksheets(FAtt).Cells(8, 2).Value = Worksheets("DB").Cells(i + 1, 3).Value
Worksheets(FAtt).Cells(6, 4).Value = Worksheets("DB").Cells(i + 1, 4).Value
Worksheets(FAtt).Cells(8, 4).Value = Worksheets("DB").Cells(i + 1, 5).Value
trovato = trovato + 1
End If

Next i
Application.ScreenUpdating = True


Select Case trovato
Case 0
MsgBox ("Elemento non trovato")

Case Is > 1
MsgBox ("ATTENZIONE! È stata trovata più di un'occorrenza della voce cercata")

End Select


End Sub


Grazie Anthony!
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1419
Iscritto il: 16/01/12 14:21

Re: EXCEL VBA - Autocompilazione Foglio da Tabella

Postdi Valerio93 » 03/03/16 12:21

Grazie a tutti e due ragazzi!
Forum davvero impeccabile.

La macro va che è una meraviglia :D
Valerio93
Newbie
 
Post: 6
Iscritto il: 07/09/15 09:16


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL VBA - Autocompilazione Foglio da Tabella":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti