Arkadaşlar binlerce Excel dosyası var ve bu dosyaların içinde, değişik sütun ve satırlardaki hücrelerde örn. KA61548 şeklinde değerler yer almakta.
Bu KA61548 değerinin KA'nın sağındaki sayılar değişti.
Şimdi benim bir listem var Excel'de, Sol sütunda eski kod, sağ tarafta yeni kod.
Öyle bir makro yapmalıyımki, çalıştırdığımda seçtiğim tüm klasör ve alt klasörleri tarayarak, soldaki değeri bulup sağdaki ile değiştirmeli. Çok mühim bir konu, yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
Bulduğum ve çalıştıramadığım kod;
Bu KA61548 değerinin KA'nın sağındaki sayılar değişti.
Şimdi benim bir listem var Excel'de, Sol sütunda eski kod, sağ tarafta yeni kod.
Öyle bir makro yapmalıyımki, çalıştırdığımda seçtiğim tüm klasör ve alt klasörleri tarayarak, soldaki değeri bulup sağdaki ile değiştirmeli. Çok mühim bir konu, yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
Bulduğum ve çalıştıramadığım kod;
Kod:
Sub MAIN()
DoReplacements "C:\"
End Sub
Sub DoReplacements(sSourceFolder As String)
Set fldr = CreateObject("scripting.filesystemobject").getfolder(sSourceFolder)
For Each fl In fldr.Files
If Right(fl.Name, 5) = ".xls" Then
For Each r In Columns(1).SpecialCells(2)
Debug.Print "Begin:", fldr.Path & "\" & fl.Name, r.Text, r.Offset(, 1).Text
ReplaceTextInFile fldr.Path & "\" & fl.Name, r.Text, r.Offset(, 1).Text
Next
End If
Next
For Each SubFolder In CreateObject("scripting.filesystemobject").getfolder(sSourceFolder).SubFolders
DoReplacements SubFolder.Path
Next SubFolder
End Sub
Sub ReplaceTextInFile(SourceFile As String, _
sText As String, _
rText As String)
Open SourceFile For Input As #1
c0 = Input(LOF(1), #1)
Close #1
Open SourceFile For Output As #1
Print #1, Replace(c0, sText, rText)
Close #1
End Sub