| | Post: 12 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
27/02/2017 15:43 | |
Buongiorno a tutti
Vorrei riportare in un file alcuni dati presenti in file diversi
Vi allego i file come esempio:
"File1", "File2" e "File3" contengono nella cella b2 il nome di una città
Il file "Risultato" contiene appunto il risultato che vorrei
Grazie per l'attenzione...
Enrico
|
|
| | Post: 3.725 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
27/02/2017 19:38 | |
i dati devono rimanere legati ai 3 file o no ?
Macro o formule ?
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 12 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
28/02/2017 08:53 | |
Ciao
Ho questi 3 file (ma in realtà ne avrò più di 300 ed ogni giorno aumentano) dove ho necessità di estrarre alcuni dati (sono più di uno, ma nell'esempio ho messo solo la cella B2)
Possono anche essere indipendenti, una volta che li ho estratti
Formula meglio, la capisco di più e posso adattarla meglio :)
Grazie molte |
| | Post: 3.728 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
28/02/2017 10:47 | |
niente formule visto che sono tanti file, se non ti intendi di macro è inutile farne una per un solo dato, devi allegare file più significativi
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 13 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
28/02/2017 11:06 | |
Ti mando file più significativi e file di riepilogo che vorrei
Grazie molte |
| | Post: 3.729 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
28/02/2017 12:15 | |
Sub Openfile()
Set xlApp = New Excel.Application
Dim strFile As String
Set sh = ThisWorkbook.Sheets(1)
mFolder = "F:\Download\E\" ' <<<<<<<< da modificare
strFile = Dir(mFolder & "*.xlsx")
riga = 2
Do While strFile <> ""
Set WB = xlApp.Workbooks.Open(mFolder & strFile)
sh.Cells(riga, 1).Value = WB.Sheets(1).Range("B2").Value
sh.Cells(riga, 2).Value = WB.Sheets(1).Range("B6").Value
sh.Cells(riga, 3).Value = WB.Sheets(1).Range("B8").Value
sh.Cells(riga, 4).Value = WB.Sheets(1).Range("B10").Value
WB.Close False
riga = riga + 1
strFile = Dir
Loop
xlApp.Quit
Set WB = Nothing
Set xlApp = Nothing
End Sub
i file devono stare tutti nella stessa cartella mFolder
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 14 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
28/02/2017 14:19 | |
Metto tutti i file in questa cartella:
R:\BAGHINO\mfolder
e modifico la macro così ?
mFolder = "R:\BAGHINO\"
giusto ? |
| | Post: 3.730 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
28/02/2017 16:33 | |
Metti tutti i file in questa cartella:
R:\BAGHINO
e modifichi la macro così
mFolder = "R:\BAGHINO\"
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 15 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
28/02/2017 16:52 | |
ok, fatto
ma non mi fa niente :(
apro il file "risultato" ma non fa nulla
|
| | Post: 16 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
28/02/2017 17:06 | |
funziona (avevo copiato male)!!!
GRAZIE !!!
molto utile |
| | Post: 17 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
28/02/2017 17:27 | |
ultimissima cosa
Se nel file ho due fogli, dove devo scrivere nella macro di andare a prendere i dati nel foglio che voglio io ?
grazie !!! |
| | Post: 3.732 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
28/02/2017 17:37 | |
sh.Cells(riga, 1).Value = WB.Sheets(1).Range("B2").Value
sh è il foglio in cui scrivi i risultati
WB.Sheets(1) è il foglio 1 del file aperto da cui prendi i dati
se vuoi il foglio2 fai WB.Sheets(2) [Modificato da patel45 28/02/2017 17:38]
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 18 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
01/03/2017 09:23 | |
Perfetto !!!
grazie mille
forum davvero utlissimo |
| | Post: 98 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
28/03/2019 09:55 | |
Ciao a tutti
Qualche settimana fa mi avete fatto una macro utilissima che mi estraeva da dei file Excel in una determinata cartella, alcune celle.
Sub Openfile()
Set xlApp = New Excel.Application
Dim strFile As String
Set sh = ThisWorkbook.Sheets(1)
mFolder = "F:\Download\E\" ' <<<<<<<< da modificare
strFile = Dir(mFolder & "*.xlsx")
riga = 2
Do While strFile <> ""
Set WB = xlApp.Workbooks.Open(mFolder & strFile)
sh.Cells(riga, 1).Value = WB.Sheets(1).Range("B2").Value
sh.Cells(riga, 2).Value = WB.Sheets(1).Range("B6").Value
sh.Cells(riga, 3).Value = WB.Sheets(1).Range("B8").Value
sh.Cells(riga, 4).Value = WB.Sheets(1).Range("B10").Value
WB.Close False
riga = riga + 1
strFile = Dir
Loop
xlApp.Quit
Set WB = Nothing
Set xlApp = Nothing
End Sub
Nasce ora l'esigenza di copiare le stesse celle però in più righe...
Quindi, non solo la B2, B6, B8 e B10, ma anche la B3 (etc) fino alla 30esima riga.
Potrei ovviamente copiare tutte le celle interessate, ma mi chiedevo se ci fosse un metodo più veloce per far copiare l'intervallo delle celle:
tipo Range("B6:B30") ...che non funziona :)
Grazie
|
| | Post: 4.134 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
29/03/2019 10:18 | |
Sub Openfile()
Set xlApp = New Excel.Application
Dim strFile As String
Set sh = ThisWorkbook.Sheets(1)
mFolder = "F:\Download\E\" ' <<<<<<<< da modificare
strFile = Dir(mFolder & "*.xlsx")
riga = 2
Do While strFile <> ""
Set WB = xlApp.Workbooks.Open(mFolder & strFile)
for col = 6 to 30
sh.Cells(riga, col - 5).Value = WB.Sheets(1).Range("B" & col).Value
next
WB.Close False
riga = riga + 1
strFile = Dir
Loop
xlApp.Quit
Set WB = Nothing
Set xlApp = Nothing
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 99 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
29/03/2019 10:40 | |
Ottimo
Riesco a metterla in colonna anziché in riga ?
Attualmente nell'excel B6 B7 B8 B9 B10
vorrei in colonna
B6
B7
B8
B9
B10
Comunque grazie !!!
Enrico |
| | Post: 100 | Registrato il: 13/01/2017
| Città: GENOVA | Età: 55 | Utente Junior | 2013 | | OFFLINE | |
|
29/03/2019 12:49 | |
In pratica vorrei questo:
FLOTTA1 e FLOTTA2 sono i due Excel di cui vorrei estrarre i dati
ESTRAZIONE è il file che vorrei che si generasse con la macro
Grazie !!!
Ciao
Enrico |
| | Post: 4.135 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
29/03/2019 17:08 | |
Nei file allegati non vedo riscontro a quanto hai detto
Riesco a metterla in colonna anziché in riga ?
Attualmente nell'excel B6 B7 B8 B9 B10
vorrei in colonna
B6
B7
B8
B9
B10
Comunque in base agli allegati prova questa
Sub accoda()
Set xlApp = New Excel.Application
Dim strFile As String
Set sh = ThisWorkbook.Sheets(1)
mFolder = "F:\Download\a\" ' <<<<<<<< da modificare
strFile = Dir(mFolder & "*.xlsx")
riga = 2
Do While strFile <> ""
Set WB = xlApp.Workbooks.Open(mFolder & strFile)
r = WB.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row
WB.Sheets(1).Range("A2:C" & r).Copy
sh.Range("A" & riga).PasteSpecial xlPasteFormats
WB.Close False
riga = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row + 1
strFile = Dir
Loop
xlApp.Quit
Set WB = Nothing
Set xlApp = Nothing
End Sub
[Modificato da patel45 29/03/2019 18:51]
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
|
|