- Katılım
- 28 Şubat 2011
- Mesajlar
- 605
- Excel Vers. ve Dili
- 2010 - Türkçe - Win10 x64
Hayırlı günler,
Halit bey'in paylaştığı kodda değişiklik yapmaya çalıştım fakat işler hepten karıştı.
Eskiden yanlışta olsa alt alta yazan kodlar şimdi birbirlerinin üstüne yazmaya başladı. ADO çok aşırı yavaş çalıştı. Farklı bir yöntem denemek istedim.
Yapmaya çalıştığım şey şu:
Aşağıda adresi yazılan klasör içinde bulunan dosya isimleri sayı ile başlayan tüm dosyaların B sütunu, E sütunu, I sütunu, K sütunu ve M sütunlarını tek bir sayfada toplamak istiyorum.
Bir de farklı kod denemelerimde hep karşıma çıktı aşağıdaki hata.
Her dosya için Continue demem gerekiyor. Bu hatayı nasıl giderebilirim?
Halit bey'in paylaştığı kodda değişiklik yapmaya çalıştım fakat işler hepten karıştı.
Eskiden yanlışta olsa alt alta yazan kodlar şimdi birbirlerinin üstüne yazmaya başladı. ADO çok aşırı yavaş çalıştı. Farklı bir yöntem denemek istedim.
Yapmaya çalıştığım şey şu:
Aşağıda adresi yazılan klasör içinde bulunan dosya isimleri sayı ile başlayan tüm dosyaların B sütunu, E sütunu, I sütunu, K sütunu ve M sütunlarını tek bir sayfada toplamak istiyorum.
Bir de farklı kod denemelerimde hep karşıma çıktı aşağıdaki hata.
Her dosya için Continue demem gerekiyor. Bu hatayı nasıl giderebilirim?
Kod:
Sub aktar2()
Kaynak = "C:\Users\ocop0909\Desktop\Yeni klasör\YENİ"
Application.DisplayAlerts = False
Range(Cells(2, 1), Cells(Rows.Count, Columns.Count)).Value = ""
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder(Kaynak).Files
If ThisWorkbook.Name <> Dosya.Name Then
deg = "'" & Kaynak & "\" & "[" & Dosya.Name & "]" & "Sayfa1" & "'!R" '//Veri alınacak dosyalardaki sayfa isimi
sat = Cells(Rows.Count, "A").End(3).Row + 1
Cells(sat, "B") = ExecuteExcel4Macro(deg & 2 & "C" & 2)
Cells(sat, "E") = ExecuteExcel4Macro(deg & 4 & "C" & 5)
Cells(sat, "I") = ExecuteExcel4Macro(deg & 7 & "C" & 9)
Cells(sat, "K") = ExecuteExcel4Macro(deg & 10 & "C" & 11)
Cells(sat, "M") = ExecuteExcel4Macro(deg & 13 & "C" & 13)
End If
Next
Application.ScreenUpdating = True
MsgBox "işlem tamam"
End Sub
