KLASÖRDEKİ TÜM DOSYALARDAKİ M1 HÜCRESİNE FORMÜL YERLEŞTİRMEYE ÇALIŞIYORUM NERDE HATA YAPIYORUM?
Sub Klasördeki_Dosyalara_Formül_Uygula()
Dim Klasör As Object
Dim İlk_Süre As Date, Son_Süre As Date, Toplam_Süre As Date
Set Klasör = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasör seçiniz !", 1)
İlk_Süre = Time
[A2:B65536].ClearContents
Liste (Klasör.Items.Item.Path)
Alt_Liste (Klasör.Items.Item.Path)
Set Klasör = Nothing
Son_Süre = Time
Toplam_Süre = Format(Son_Süre - İlk_Süre, "hh:mm:ss")
MsgBox "İşleminiz tamamlanmıştır." & vbCrLf & "İşlem süresi ; " & Toplam_Süre, vbInformation
End Sub
Private Sub Liste(Yol As String)
Dim Dosya As String, Hedef_Dosya As Workbook
On Error Resume Next
Dosya = Dir(Yol & "\*.xls")
While Dosya <> ""
Application.ScreenUpdating = False
DoEvents
Set Hedef_Dosya = Workbooks.Open(Yol & "\" & Dosya, False, False)
Range("M1").Formula = "=subtotal(9,J1:J3000)-subtotal(9,K1:3000)"
Hedef_Dosya.Close True
Dosya = Dir
Application.ScreenUpdating = True
Wend
End Sub
Private Sub Alt_Liste(Yol As String)
Dim Alt_Klasör As Object, Alt_Dosya As Object, Dosya As String, Hedef_Dosya As Workbook
Set Alt_Klasör = CreateObject("Scripting.FileSystemObject").GetFolder(Yol).SubFolders
On Error GoTo Devam
For Each Alt_Dosya In Alt_Klasör
Dosya = Dir(Alt_Dosya.Path & "\*.xls")
While Dosya <> ""
Application.ScreenUpdating = False
DoEvents
Set Hedef_Dosya = Workbooks.Open(Alt_Dosya & "\" & Dosya, False, False)
Range("M1").Formula = "=subtotal(9,J1:J3000)-subtotal(9,K1:3000)"
Hedef_Dosya.Close True
Dosya = Dir
Application.ScreenUpdating = True
Wend
Alt_Liste (Alt_Dosya.Path)
Devam:
Next
Set Alt_Klasör = Nothing
End Sub
Sub Klasördeki_Dosyalara_Formül_Uygula()
Dim Klasör As Object
Dim İlk_Süre As Date, Son_Süre As Date, Toplam_Süre As Date
Set Klasör = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasör seçiniz !", 1)
İlk_Süre = Time
[A2:B65536].ClearContents
Liste (Klasör.Items.Item.Path)
Alt_Liste (Klasör.Items.Item.Path)
Set Klasör = Nothing
Son_Süre = Time
Toplam_Süre = Format(Son_Süre - İlk_Süre, "hh:mm:ss")
MsgBox "İşleminiz tamamlanmıştır." & vbCrLf & "İşlem süresi ; " & Toplam_Süre, vbInformation
End Sub
Private Sub Liste(Yol As String)
Dim Dosya As String, Hedef_Dosya As Workbook
On Error Resume Next
Dosya = Dir(Yol & "\*.xls")
While Dosya <> ""
Application.ScreenUpdating = False
DoEvents
Set Hedef_Dosya = Workbooks.Open(Yol & "\" & Dosya, False, False)
Range("M1").Formula = "=subtotal(9,J1:J3000)-subtotal(9,K1:3000)"
Hedef_Dosya.Close True
Dosya = Dir
Application.ScreenUpdating = True
Wend
End Sub
Private Sub Alt_Liste(Yol As String)
Dim Alt_Klasör As Object, Alt_Dosya As Object, Dosya As String, Hedef_Dosya As Workbook
Set Alt_Klasör = CreateObject("Scripting.FileSystemObject").GetFolder(Yol).SubFolders
On Error GoTo Devam
For Each Alt_Dosya In Alt_Klasör
Dosya = Dir(Alt_Dosya.Path & "\*.xls")
While Dosya <> ""
Application.ScreenUpdating = False
DoEvents
Set Hedef_Dosya = Workbooks.Open(Alt_Dosya & "\" & Dosya, False, False)
Range("M1").Formula = "=subtotal(9,J1:J3000)-subtotal(9,K1:3000)"
Hedef_Dosya.Close True
Dosya = Dir
Application.ScreenUpdating = True
Wend
Alt_Liste (Alt_Dosya.Path)
Devam:
Next
Set Alt_Klasör = Nothing
End Sub
