DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Option Explicit
Sub TÜM_VERİLERİ_AL()
Dim İlk_Süre As Date, Son_Süre As Date, Toplam_Süre As Date
Dim Klasör() As String, Hafta() As String, X As Integer, Y As Integer
Dim Veri_Dosyası As Workbook, Dosya As Object, Kaynak_Dosya As Workbook, Sayfa As Worksheet
Dim Dosya_Yolu As String, Satır As Long
Dim Bul As Range, Adres As String
On Error GoTo Son
Application.ScreenUpdating = False
İlk_Süre = Time
Set Veri_Dosyası = ThisWorkbook
If Veri_Dosyası.Sheets("Sayfa1").Range("C10") <> "" And Veri_Dosyası.Sheets("Sayfa1").Range("C11") <> "" Then
Hafta = Split(Veri_Dosyası.Sheets("Sayfa1").Range("C11"), ",")
Klasör = Split(Veri_Dosyası.Sheets("Sayfa1").Range("C10"), ",")
Veri_Dosyası.Sheets("Sayfa1").Range("A14:E65536").ClearContents
For X = 0 To UBound(Klasör())
Dosya_Yolu = Veri_Dosyası.Path & "\" & Klasör(X)
If CreateObject("Scripting.FileSystemObject").FolderExists(Dosya_Yolu) Then
If CreateObject("Scripting.FileSystemObject").GetFolder(Dosya_Yolu).Files.Count = 0 Then GoTo Son
Satır = Veri_Dosyası.Sheets("Sayfa1").Range("A65536").End(3).Row + 1
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder(Dosya_Yolu).Files
Set Kaynak_Dosya = Workbooks.Open(Dosya, False, False)
For Y = 0 To UBound(Hafta())
Set Bul = [B:B].Find(Hafta(Y), LookAt:=xlWhole)
If Not Bul Is Nothing Then
Adres = Bul.Address
Do
If Cells(Bul.Row, 3) = "ÜRETİM" Then
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 1) = Cells(Bul.Row, 1)
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 2) = Replace(Kaynak_Dosya.Name, ".xls", "")
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 3) = Cells(Bul.Row, 2)
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 4) = Cells(Bul.Row, 3)
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 5) = Cells(Bul.Row, 4)
Satır = Satır + 1
End If
Set Bul = [B:B].FindNext(Bul)
Loop While Not Bul Is Nothing And Bul.Address <> Adres
End If
Next
Kaynak_Dosya.Close True
Next
End If
Next
End If
Son_Süre = Time
Toplam_Süre = Format(Son_Süre - İlk_Süre, "hh:mm:ss")
Application.ScreenUpdating = True
MsgBox "İşleminiz tamamlanmıştır." & vbCrLf & "İşlem süresi ; " & Toplam_Süre, vbInformation
Exit Sub
Son:
Application.ScreenUpdating = True
MsgBox "Dosya bulunamamıştır !", vbCritical, "Dikkat !"
End Sub
Option Explicit
Sub TÜM_VERİLERİ_AL()
Dim İlk_Süre As Date, Son_Süre As Date, Toplam_Süre As Date
Dim Klasör() As String, Hafta() As String, X As Integer, Y As Integer
Dim Veri_Dosyası As Workbook, Dosya As Object, Kaynak_Dosya As Workbook, Sayfa As Worksheet
Dim Dosya_Yolu As String, Satır As Long
Dim Bul As Range, Adres As String
On Error GoTo Son
Application.ScreenUpdating = False
İlk_Süre = Time
Set Veri_Dosyası = ThisWorkbook
If Veri_Dosyası.Sheets("Sayfa1").Range("C10") <> "" And Veri_Dosyası.Sheets("Sayfa1").Range("C11") <> "" Then
Hafta = Split(Veri_Dosyası.Sheets("Sayfa1").Range("C11"), ",")
Klasör = Split(Veri_Dosyası.Sheets("Sayfa1").Range("C10"), ",")
Veri_Dosyası.Sheets("Sayfa1").Range("A14:G65536").ClearContents
For X = 0 To UBound(Klasör())
Dosya_Yolu = Veri_Dosyası.Path & "\" & Klasör(X)
If CreateObject("Scripting.FileSystemObject").FolderExists(Dosya_Yolu) Then
If CreateObject("Scripting.FileSystemObject").GetFolder(Dosya_Yolu).Files.Count = 0 Then GoTo Son
Satır = Veri_Dosyası.Sheets("Sayfa1").Range("A65536").End(3).Row + 1
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder(Dosya_Yolu).Files
Set Kaynak_Dosya = Workbooks.Open(Dosya, False, False)
For Y = 0 To UBound(Hafta())
Set Bul = [C:C].Find(Hafta(Y), LookAt:=xlWhole)
If Not Bul Is Nothing Then
Adres = Bul.Address
Do
If Cells(Bul.Row, 4) = "ÜRETİM" Then
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 1) = Cells(Bul.Row, 1)
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 2) = Replace(Kaynak_Dosya.Name, ".xls", "")
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 3) = Cells(Bul.Row, 2)
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 4) = Cells(Bul.Row, 3)
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 5) = Cells(Bul.Row, 4)
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 6) = Cells(Bul.Row, 5)
If Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 3) <> 4 And Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 3) <> 6 Then
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 7) = Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 6) * 1000
Else
Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 7) = Veri_Dosyası.Sheets("Sayfa1").Cells(Satır, 6) * 2000
End If
Satır = Satır + 1
End If
Set Bul = [C:C].FindNext(Bul)
Loop While Not Bul Is Nothing And Bul.Address <> Adres
End If
Next
Kaynak_Dosya.Close True
Next
End If
Next
End If
Son_Süre = Time
Toplam_Süre = Format(Son_Süre - İlk_Süre, "hh:mm:ss")
Application.ScreenUpdating = True
MsgBox "İşleminiz tamamlanmıştır." & vbCrLf & "İşlem süresi ; " & Toplam_Süre, vbInformation
Exit Sub
Son:
Application.ScreenUpdating = True
MsgBox "Dosya bulunamamıştır !", vbCritical, "Dikkat !"
End Sub
Option Explicit
Sub SAYFALARDAKİ_B2_HÜCRELERİNİ_LİSTELE()
Dim Sayfa As Worksheet, Satır As Long
On Error GoTo Ekle
Sheets("LİSTE").Select
[A:A].ClearContents
GoTo Devam
Ekle:
Worksheets.Add
ActiveSheet.Name = "LİSTE"
Devam:
Satır = 1
For Each Sayfa In Worksheets
If Sayfa.Name <> "LİSTE" Then
Sheets("LİSTE").Cells(Satır, 1) = Sayfa.[B2]
Satır = Satır + 1
End If
Next
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Sheets("LİSTE").Cells(Satır, [COLOR=red]2[/COLOR]) = Sayfa.[B[COLOR=red]3[/COLOR]]