Hallo zusammen,
ich beschäftige mich erst seit kurzem mit der VBA Thematik. Jetzt habe ich ein wahrscheinlich ein einfach zu lösendes Problem. Ich möchte aus Dateien in einem Verzeichnis nach einem bestimmten Textinhalt suchen und diesen durch einen neuen ersetzen. Insgesamt funktioniert das Makro so lange, bis es auf eine Datei trifft, in der die Begrifflichkeit nicht zu finden ist. Dann erscheint ein Laufzeitfehler. Ich suche daher nach einer Möglichkeit, dass er die Suche bei der nächsten Datei fortsetzt, wenn er aktuell nichts findet. Vielleich kann mir ja bitte jemand helfen. Vielen Dank.
Sub JA_DATUMANPASSUNG()
Dim EIGENER_NAME
Dim PFAD_DATUM
Dim SUCHE_DATUM
Dim ERSETZE_DATUM
Dim FS As Object
Dim FVERZ As Object
Dim FDATEI As Object
Dim FDATEIEN As Object
Dim DATDATUM(200, 2) As String, Z1
'Auslesen der Startmaske
EIGENER_NAME = ActiveWorkbook.Name
Range("B7").Select
PFAD_DATUM = ActiveCell()
Range("D10").Select
SUCHE_DATUM = ActiveCell()
Range("D12").Select
ERSETZE_DATUM = ActiveCell()
'Dateien auslesen
Set FS = CreateObject("scripting.FileSystemObject")
Set FVERZ = FS.getFolder(PFAD_DATUM)
Set FDATEIEN = FVERZ.Files
Z1 = 1
For Each FDATEI In FDATEIEN
If InStr(FDATEI, "") > 0 Then
DATDATUM(Z1, 1) = FDATEI.Name
End If
Z1 = Z1 + 1
Next FDATEI
'Bearbeitung der Dateien
Z1 = 1
Do
If DATDATUM(Z1, 1) = "" Then
Exit Do
Else
Workbooks.Open Filename:= _
PFAD_DATUM + "\" + DATDATUM(Z1, 1)
Cells.Find(What:=SUCHE_DATUM, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.FormulaR1C1 = ERSETZE_DATUM
ActiveWorkbook.Save
ActiveWindow.Close
End If
ActiveWorkbook.Close
Z1 = Z1 + 1
Loop
End Sub
|