13.03.2021, 14:15
Hallo,
in Spalte A2 einer großen Datei steht ein Datennamen. Mittels Makro wird diese Datei über einen Pfad in einem Ordner aufgerufen und bearbeitet. Mittels Loop/Do – Schleife wird dann in der nächsten Zelle in Spalte A das gleiche wiederholt, bis kein Dateiname mehr vorhanden ist. Das ganze Makro funktioniert einwandfrei. Hier der letzte Teil vom Makro:
ActiveCell.Offset(0, -6).Range("A1").Select 'gehe wieder zurück zu Spalte A in der großen Datei
ActiveCell.Offset(1, 0).Select 'gehe eine Zelle nach unten
If ActiveCell = "" Then
MsgBox "In dieser Zelle steht kein Dateiname. Daher Ende."
Exit Sub 'Makro wird abgebrochen
End If 'Makro wird weiter durchgeführt
Workbooks.Open (ThisWorkbook.Path & "\" & ActiveCell.Offset(0, 0).Range("A1").Value)
‘mit einer If-Abfrage ergänzen)
ThisWorkbook.Activate 'die große Datei
Loop 'von hier wieder zum Anfang des Makros als Schleife mit "Do"
End Sub
Leider kommt es manchmal vor, dass die gesuchte Datei im Ordner nicht vorhanden ist. Die daraus resultierende Fehlermeldung möchte ich mit einer Wenn-Abfrage – mit Schleife - vermeiden, aber es gelingt mir nicht. Das Makro soll einfach in Spalte A den nächsten Dateinamen eine Zelle tiefer nehmen. Und wenn der auch fehlt, dann wieder den nächsten, also auch eine kleine Schleife.
Theoretisch so:
If Workbooks.Open (ThisWorkbook.Path & "\" & ActiveCell.Offset(0, 0).Range("A1").Value) = “”
Then gehe zurück bis zum Smily (Code „gehe eine Zelle nach unten“ )
Else
End if
Wie lautet die richtige If-Abfrage mit Sprung Marken?
Ganz herzlichen Dank für eure Hilfe im Voraus
Jorg
in Spalte A2 einer großen Datei steht ein Datennamen. Mittels Makro wird diese Datei über einen Pfad in einem Ordner aufgerufen und bearbeitet. Mittels Loop/Do – Schleife wird dann in der nächsten Zelle in Spalte A das gleiche wiederholt, bis kein Dateiname mehr vorhanden ist. Das ganze Makro funktioniert einwandfrei. Hier der letzte Teil vom Makro:
ActiveCell.Offset(0, -6).Range("A1").Select 'gehe wieder zurück zu Spalte A in der großen Datei

ActiveCell.Offset(1, 0).Select 'gehe eine Zelle nach unten
If ActiveCell = "" Then
MsgBox "In dieser Zelle steht kein Dateiname. Daher Ende."
Exit Sub 'Makro wird abgebrochen
End If 'Makro wird weiter durchgeführt
Workbooks.Open (ThisWorkbook.Path & "\" & ActiveCell.Offset(0, 0).Range("A1").Value)
‘mit einer If-Abfrage ergänzen)
ThisWorkbook.Activate 'die große Datei
Loop 'von hier wieder zum Anfang des Makros als Schleife mit "Do"
End Sub
Leider kommt es manchmal vor, dass die gesuchte Datei im Ordner nicht vorhanden ist. Die daraus resultierende Fehlermeldung möchte ich mit einer Wenn-Abfrage – mit Schleife - vermeiden, aber es gelingt mir nicht. Das Makro soll einfach in Spalte A den nächsten Dateinamen eine Zelle tiefer nehmen. Und wenn der auch fehlt, dann wieder den nächsten, also auch eine kleine Schleife.
Theoretisch so:
If Workbooks.Open (ThisWorkbook.Path & "\" & ActiveCell.Offset(0, 0).Range("A1").Value) = “”
Then gehe zurück bis zum Smily (Code „gehe eine Zelle nach unten“ )
Else
End if
Wie lautet die richtige If-Abfrage mit Sprung Marken?
Ganz herzlichen Dank für eure Hilfe im Voraus
Jorg