Moderatori: Anthony47, Flash30005
Filtr = "SIM " & Format(Now, "dd-mm-yyyy") & ".xlsm" '<<< Modificata
Dim tdWs As Worksheet, mioFile As String
Set tdWs = Worksheets.Add
'
For I = 1 To NumF
mioFile = FArr(I)
If mioFile <> "" Then
Workbooks.Open mioFile, 0
Sheets(1).Select '<<< Il numero o nome del foglio
Range(Range("A6"), Range("A6").End(xlDown)).Resize(, 18).Copy tdWs.Cells(tdWs.Rows.Count, 1).End(xlUp).Offset(1, 0)
ActiveWorkbook.Close False
End If
Next I
Mi riesci a spiegare un attimo con funziona il ciclo for per processare il singolo nome file.
fa il passaggio della cartella trova il file e poi io tramite un'istruzione di copia incolla lo faccio inserire all'interno del mio file di output?
unico problema è come fare a dirgli una volta che hai copiato tutte le righe del primo percorso ( dalla riga A6), passare al secondo percorso e incollarle sotto a quelle gia copiate?
For I = 1 To NumF
mioFile = fArr(I)
If mioFile <> "" Then
Workbooks.Open mioFile, 0
Sheets(1).Select '<<< Il numero o nome del foglio
nextI = tdWs.Cells(tdWs.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
For K = 6 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(K, "J") <> "" And Cells(K, "K") <> "" Then
Cells(K, 1).Resize(1, 18).Copy tdWs.Cells(nextI, 1): nextI = nextI + 1
Cells(K, 1).Resize(1, 18).Copy tdWs.Cells(nextI, 1)
tdWs.Cells(nextI, "J").Value = tdWs.Cells(nextI, "K").Value
tdWs.Cells(nextI, "K").ClearContents: nextI = nextI + 1
Else
Cells(K, 1).Resize(1, 18).Copy tdWs.Cells(nextI, 1): nextI = nextI + 1
End If
Next K
Range(Range("A6"), Range("A6").End(xlDown)).Resize(, 18).Copy tdWs.Cells(tdWs.Rows.Count, 1).End(xlUp).Offset(1, 0)
ActiveWorkbook.Close False
End If
Next I
tav ha scritto:Ciao Anthony
Dovrei riaprire il topic perché mi sono accorto di un problema che non riesco a risolvere.
Quando mi si presenta un file da compattare con una sola riga la macro mi da un errore del tipo tabella di diverse dimensioni. Se invece il file ha più di una riga non mi crea problemi. L’errore è sul Range(A6) alla fine della macro
laa = Cells(Rows.Count, "A").End(xlUp).Row
Range("A6").Resize(laa - 5, 18).Copy tdWs.Cells(tdWs.Rows.Count, 1).End(xlUp).Offset(1, 0)
Torna a Applicazioni Office Windows
Come evidenziare aree separate di un foglio Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 18 |
Macro modifica date scelta periodo Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 11 |
Supporto per sviluppo macro VBA Ordinare per data Autore: Carletto Ribolla |
Forum: Applicazioni Office Windows Risposte: 3 |
Visitano il forum: Marius44 e 14 ospiti