ich schreibe ein VBA und möchte dass dieses alle .xls in einem Ordner öffnet,
diese nach einem begriff durchsucht, diesen begriff ersetzt und anschließend speichert.
Von der "alten" Datei soll ein backup in einem anderen Ordner gespeichert werden.
Anbei mein Quelltext, so wie er jetzt ist sucht er allerdings nur im 1. Sheet der dateien, soll aber in der gesamten arbeitsmappe suchen, habe schon einiges probiert, komme aber nicht drauf.
Public Function Replaceit(alt As String, neu As String)
Dim zähler As Long, Pfad As String
Pfad = "..."
If Pfad = "" Then: Exit Function
With Application.FileSearch
.NewSearch
.FileType = msoFileTypeExcelWorkbooks
.LookIn = Pfad
.SearchSubFolders = True
If .Execute 0 Then
For zähler = 1 To .FoundFiles.Count
' Backup
Workbooks.Open Filename:=.FoundFiles.Item(zähler)
ActiveWorkbook.Sheets(1).Activate
ActiveWorkbook.Sheets(1).Cells(1, 1).Select
' ActiveWorkbook.Sheets(1).Cells.Find(What:=alt, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
If Not ActiveWorkbook.Sheets(1).Cells.Find(What:=alt, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) Is Nothing Then
ActiveWorkbook.SaveAs Filename:=Pfad & "neu\" & Split(ActiveWorkbook.Name, ".xls")(0) & _
" " & Format(Now, "YYYYMMDD") & ".xls"
ActiveWorkbook.Close
End If
' Neue Datei
Workbooks.Open Filename:=.FoundFiles.Item(zähler)
ActiveWorkbook.Sheets(Array(1).Cells.Replace What:=alt, Replacement:=neu, LookAt:= _
xlPart, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' Speichern der geänderten Datei
ActiveWorkbook.Save: ActiveWorkbook.Close
Next zähler
End If
End With
Vielen Dank für die Hilfe!