meleklerim
Altın Üye
- Katılım
- 2 Ekim 2013
- Mesajlar
- 347
- Excel Vers. ve Dili
-
ofis 2019 türkçe
windows 10 pro türkçe
- Altın Üyelik Bitiş Tarihi
- 23-07-2025
Malesef Halit Bey,Dosyalarınız bu şekilde devam ediyorsa yani arada bir boşluk var boşluktan sonraki sayı var ise bu kodları bir dene
Kod:Private Sub CommandButton1_Click() Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0) If Not Klasor Is Nothing Then Kaynak = Klasor.self.Path If InStr(1, Kaynak, "{") > 0 Then GoTo Atla Worksheets(ActiveSheet.Name).Range("A2:B65000").ClearContents Range("D2:D65000").ClearContents Worksheets(ActiveSheet.Name).Cells(1, 5).Value = "OK" Liste4 (Kaynak) sson1 = Cells(Rows.Count, "a").End(3).Row Range("A2:D" & sson1).Sort Key1:=Range("b2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal Dim fL As Object Set fL = CreateObject("Scripting.FileSystemObject") For i = 2 To Worksheets(ActiveSheet.Name).Cells(Rows.Count, "A").End(3).Row Worksheets(ActiveSheet.Name).Cells(i, 2).Value = fL.GetBaseName(Worksheets(ActiveSheet.Name).Cells(i, 1).Value) Next i Set Klasor = Nothing MsgBox "işlem tamam" Else Atla: MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT" End If End Sub Private Sub Liste4(yol As String) Dim fL As Object, fs As Object, f As Object, j As Long Set fL = CreateObject("Scripting.FileSystemObject") For Each Dosya In fL.GetFolder(yol).Files j = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("A1:A" & Rows.Count)) + 1 Cells(j, 1) = Dosya deg1 = Split(fL.GetBaseName(Dosya.Name), " ") If UBound(deg1) > 0 Then Cells(j, 2).Value = Val(9 & deg1(1)) else Cells(j, 2) = fL.GetBaseName(Dosya.Name) End If Next On Error GoTo sonraki For Each f In fL.GetFolder(yol).subfolders Liste4 (f.Path) sonraki: Next End Sub Private Sub CommandButton2_Click() If Worksheets(ActiveSheet.Name).Cells(1, 5).Value <> "OK" Then MsgBox "işlemi yeniden yapaın": Exit Sub sat1 = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("A2:A65000")) sat2 = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("B2:B65000")) If sat1 <> sat2 Then MsgBox "eski dosyalarla değiştirilecek dosyalar sayısı aynı değil", vbInformation, "İşlem Tamam !" End If a = MsgBox(" Dosyaların isimlerini değiştirmek İstiyormusunz ?", vbExclamation + vbYesNo, "İşlem Tamam !") If a = vbNo Then Exit Sub End If For i = 2 To Worksheets(ActiveSheet.Name).Cells(Rows.Count, "A").End(3).Row eski = Worksheets(ActiveSheet.Name).Cells(i, 1).Value Dim fL As Object Set fL = CreateObject("Scripting.FileSystemObject") Klasor = fL.GetParentFolderName(eski) dosya_adi = Worksheets(ActiveSheet.Name).Cells(i, 3).Value uzanti = "." & fL.GetExtensionName(eski) yeni = Klasor & "\" & dosya_adi & uzanti Worksheets(ActiveSheet.Name).Cells(i, 4).Value = yeni Name eski As yeni Worksheets(ActiveSheet.Name).Cells(i, 4).Value = yeni Next i Worksheets(ActiveSheet.Name).Cells(1, 5).Value = "" Worksheets(ActiveSheet.Name).Cells(1, 4).Value = "OK" MsgBox "işlem tamam" End Sub Private Sub CommandButton4_Click() If Worksheets(ActiveSheet.Name).Cells(1, 4).Value <> "OK" Then MsgBox "işlemi yeniden yapaın": Exit Sub sat1 = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("A2:A65000")) sat2 = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("B2:B65000")) If sat1 <> sat2 Then MsgBox "eski dosyalarla değiştirilecek dosyalar sayısı aynı değil", vbInformation, "İşlem Tamam !" End If a = MsgBox(" Dosyaların isimlerini değiştirmek İstiyormusunz ?", vbExclamation + vbYesNo, "İşlem Tamam !") If a = vbNo Then Exit Sub End If For i = 2 To Worksheets(ActiveSheet.Name).Cells(Rows.Count, "D").End(3).Row eski = Worksheets(ActiveSheet.Name).Cells(i, 4).Value yeni = Worksheets(ActiveSheet.Name).Cells(i, 1).Value Name eski As yeni Next i Worksheets(ActiveSheet.Name).Cells(1, 4).Value = "" Range("D2:D65000").ClearContents MsgBox "işlem tamam" End Sub Private Sub CommandButton3_Click() Range("A2:B65000").ClearContents 'Range("A2:F10").ClearContents End Sub
Klasörde Dosyadı 1,2,3,....10.11.12....20
Listelenen Dosyaadı 1,10,20,2,3....
35 nolu mesajda eklediğim örnek dosya üzerinde deneseniz de upload yapsanız mümkün mü acaba? Belki ben kodalrı eklerken hata yapıyorumdur.
Altın üye olmadığım için diğer üyelere gönderdiğiniz ekli dosyalara ulaşamıyorum
Çoğunlukla dosyalarımın adı şu şekildedir
Zeytin tepesi 1. Bölüm
Zeytin tepesi 2. Bölüm
Zeytin tepesi 100. Bölüm
Sizi de çok yordum kusura bakmayın