Mefisto...diabeł czy anioł?
chodzi o import do excela danych z plików generowanych automatycznie (ta sama nazwa kolejne numery pliku) do pliku dane wynikowe.xls.
Dane kopiowane do skoroszytów w zale¿no¶ci od miesi±ca (komórka D5). Pliki znajduj± siê w jednym folderze.
Dane do skopiowania zaznaczone na niebiesko (zakres danych: dane). Pocz±tek wklejania od komórki A2.
Plików w jednym miesi±cu mo¿e byæ ok. 150.
Znalazlem podobne makro w innym w±tku:
Sub KopiujDane()
Dim sciezka As String
Dim wzorzec As String
Dim plik As String
Dim wiersz As Long
Dim kopiuj As String
Dim dane As Variant
sciezka = "C:\dane\"
wzorzec = sciezka & "*.xls"
kopiuj = "A1:F100"
plik = Dir(wzorzec)
With Workbooks.Add
wiersz = 1
Do While Not plik = ""
With Workbooks.Open(sciezka & plik)
dane = .Worksheets("Arkusz1").Range(kopiuj).Value
.Close
End With
With .Worksheets(1)
.Cells(wiersz, 1). _
Resize(UBound(dane, 1), UBound(dane, 2)).Value = dane
wiersz = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
End With
plik = Dir
Loop
End With
End Sub
Takie by³o by ok, ale dobrze by³oby daæ warunek do wklejenia do danego skoroszytu (w zale¿no¶ci od miesi±ca) i kopiowaæ kilka zakresów (zaznaczonych w pliku przyk³adowym)
Za pomoc bêdê wdziêczny
Andso
zanotowane.pl doc.pisz.pl pdf.pisz.pl katkaras.opx.pl
Dane kopiowane do skoroszytów w zale¿no¶ci od miesi±ca (komórka D5). Pliki znajduj± siê w jednym folderze.
Dane do skopiowania zaznaczone na niebiesko (zakres danych: dane). Pocz±tek wklejania od komórki A2.
Plików w jednym miesi±cu mo¿e byæ ok. 150.
Znalazlem podobne makro w innym w±tku:
Sub KopiujDane()
Dim sciezka As String
Dim wzorzec As String
Dim plik As String
Dim wiersz As Long
Dim kopiuj As String
Dim dane As Variant
sciezka = "C:\dane\"
wzorzec = sciezka & "*.xls"
kopiuj = "A1:F100"
plik = Dir(wzorzec)
With Workbooks.Add
wiersz = 1
Do While Not plik = ""
With Workbooks.Open(sciezka & plik)
dane = .Worksheets("Arkusz1").Range(kopiuj).Value
.Close
End With
With .Worksheets(1)
.Cells(wiersz, 1). _
Resize(UBound(dane, 1), UBound(dane, 2)).Value = dane
wiersz = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
End With
plik = Dir
Loop
End With
End Sub
Takie by³o by ok, ale dobrze by³oby daæ warunek do wklejenia do danego skoroszytu (w zale¿no¶ci od miesi±ca) i kopiowaæ kilka zakresów (zaznaczonych w pliku przyk³adowym)
Za pomoc bêdê wdziêczny
Andso