Grazie per l'aiuto.
Grazie ancora.
Post by Mauro GamberiniPost by SamPost by Mauro Gamberini2) vuoi farlo via codice?
Preferirei senza usare filtri e copia/incolla come mi è stato suggerito
da un amico.
Sarebbe interessante sapere la logica del tuo amico
e come risolverebbe lui la cosa...
Post by SamMi hanno consigliato anche di importare i dati in un database e creare
delle query o dei report a seconda del caso, ma preferirei poter
utilizzare solo excel perchè poi sui dati ci devo ancora lavorare su.
Usando i filti e un po' di vb e
presumendo la tua tabella nel Foglio1,
Range da A1 a Hn.
Il filtro viene effettuato sulla colonna B
e il dato da filtrare viene inserito tramite
una InputBox.
In codice va inserito in un modulo standard
(ALT+F11, Inserisci-->Modulo).
Per ritornare in Excel: ALT+F11
ALT+F8, seleziona mCopia e premi: Esegui
Public Sub mCopia()
'dichiaro le variabili
Dim wk As Workbook
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim v As Variant
'inserisco il criterio di ricerca e impedisco
'lo sfarfallio del monitor
With Application
v = .InputBox("Inserire il criterio di ricerca.")
.ScreenUpdating = False
End With
'metto un riferimento al workbook
'che contiene il codice
Set wk = ThisWorkbook
'metto un riferimento ai fogli;
'Foglio1 dove ho la tabella da cui
'copiare i dati, Foglio2 dove voglio
'incollare i dati filtrati
With wk
Set sh1 = .Worksheets("Foglio1")
Set sh2 = .Worksheets("Foglio2")
End With
'eseguo il filtro/copia/incolla
With sh1
'metto il filtro automatico e gli passo
'come criterio quanto inserito nella
'InputBox
.Range("A1").AutoFilter Field:=2, _
Criteria1:=CStr(v)
'elimino tutti i dati presenti
'nel Foglio2
sh2.Cells.Clear
'copio/incollo
.Range("A1").CurrentRegion.SpecialCells( _
xlCellTypeVisible).Copy _
Destination:=sh2.Range("A1")
'tolgo il filtro
.Range("A1").AutoFilter
End With
'ripristino l'aggiornamento del monitor
With Application
.ScreenUpdating = True
End With
'Set a Nothing delle variabili oggetto
Set sh2 = Nothing
Set sh1 = Nothing
Set wk = Nothing
End Sub
Se(se) non devi cancellare i dati dal Foglio2
per ogni richesta, ma devi via via incolonnarli,
possiamo modificare la routine.
Va modificata secondoi tuoi riferimenti
per colonne e nomi dei fogli.
Nel caso non riesca, chiedi sempre
in questo thread. Grazie.
Qui(fra qualche minuto) trovi il file che ho utilizzato
http://www.maurogsc.eu/esemping10/filtracopia.zip
Grazie per l'attenzione.
--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads