Arkadaşlar;
Bir klasörde bulunan dosyalardan veri alma işini "Korhan AYHAN" arkadaşımızın kodunu değiştirerek aşağıdaki gibi yapmayı başardım en sonunda. Aslında bu benim için büyük bir adım.
Ama çok amatörce oldu... Sorum şu bu kodu daha kullanılabilir hale nasıl getirebilirim?
KOD:
Option Explicit
Sub DOSYALARDAN_VERİ_AL()
Dim FSO As Object, DOSYA As Object, DOSYA_YOLU As Object, DOSYALAR As Object, SATIR As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Set DOSYA_YOLU = FSO.GetFolder(ThisWorkbook.Path)
Set DOSYALAR = DOSYA_YOLU.Files
Range("A:B").ClearContents
For Each DOSYA In DOSYALAR
If DOSYA.Name <> "RPR_2.xls" Then
SATIR = SATIR + 1
Range("A" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C1")
Range("B" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C2")
Range("C" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C3")
Range("D" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C4")
Range("E" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C5")
Range("F" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C6")
Range("G" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C7")
Range("H" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C8")
Range("I" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C9")
Range("J" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C10")
Range("K" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C10")
Range("L" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C12")
End If
Next
Set FSO = Nothing
Set DOSYA_YOLU = Nothing
Set DOSYALAR = Nothing
Bir klasörde bulunan dosyalardan veri alma işini "Korhan AYHAN" arkadaşımızın kodunu değiştirerek aşağıdaki gibi yapmayı başardım en sonunda. Aslında bu benim için büyük bir adım.
KOD:
Option Explicit
Sub DOSYALARDAN_VERİ_AL()
Dim FSO As Object, DOSYA As Object, DOSYA_YOLU As Object, DOSYALAR As Object, SATIR As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Set DOSYA_YOLU = FSO.GetFolder(ThisWorkbook.Path)
Set DOSYALAR = DOSYA_YOLU.Files
Range("A:B").ClearContents
For Each DOSYA In DOSYALAR
If DOSYA.Name <> "RPR_2.xls" Then
SATIR = SATIR + 1
Range("A" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C1")
Range("B" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C2")
Range("C" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C3")
Range("D" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C4")
Range("E" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C5")
Range("F" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C6")
Range("G" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C7")
Range("H" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C8")
Range("I" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C9")
Range("J" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C10")
Range("K" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C10")
Range("L" & SATIR) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[" & DOSYA.Name & "]Sayfa1'!R20C12")
End If
Next
Set FSO = Nothing
Set DOSYA_YOLU = Nothing
Set DOSYALAR = Nothing
