Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If Anweisung auslesen

If Anweisung auslesen
29.09.2021 11:01:57
Elias
Hallo zusammen,
ich habe eine Makro, das einen Ordner nach Ordnern durchsucht die eine bestimmte 7-stellige Sachnummer enthalten. Das ganze mache ich so:

Set OFol = fso.GetFolder(Path)
If OFol Is Nothing Then Exit Sub
'Unterverzeichnis durchgehen (Rekursiv)
For Each fol In OFol.SubFolders
If Left(fol.Name, 7) = snr Then
Dateien_suchen fol.ShortPath
Exit Sub
End If
Next fol
Das Marko geht für eine bestimmte Menge an Sachnummern die Unterordner durch, prüft ob die Sachnummern in den Ordnernamen enthalten sind und wenn es fündig wird greift die If-Bedingung und die nächsten Schritte werden ausgeführt.
Jetzt würde ich gerne die Sachnummern in ein Array speichern, für die kein Ordner gefunden wurde, um sie nach dem Lauf des Markos auszugeben. Das erste was mir dazu eingefallen ist, wäre abzufragen, ob innerhalb der For-Schleife die If-Bedingung mindestens einmal True war. Kennt jemand einen Befehl mit dem das umzusetzen ist?
Vielen Dank im Voraus und liebe Grüße,
Elias

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If Anweisung auslesen
29.09.2021 11:09:26
Oberschlumpf
Moin Elias,
na ja, ich würd mal vermuten, wenn...

If OFol Is Nothing
...dann hat...

fso.GetFolder(Path)
...nix gefunden, und somit ist...

Path
...nicht vorhanden
Das muss bedeuten, dass Path ja genau so einen Eintrag (7-stellige Sachnummer) teilweise oder vollständig enthält.
Und somit könnte man deinen Code so umwandeln:
aus...

If OFol Is Nothing Then Exit Sub
...wird...

If OFol Is Nothing Then
'hier der Code zum Sammeln in das Array
Exit Sub
End If
Hilfts?
Ciao
Thorsten
Anzeige
AW: If Anweisung auslesen
29.09.2021 12:41:47
Elias
Wenn ich es nicht falsch verstanden habe, würde diese Lösung nach nach einer Sachnummer in dem Überordner suchen. Mit Path gebe ich aber den Überordner an und in dessen Unterordnern soll nach Ordnern gesucht werden, die die Sachnummer enthalten..
Wenn ich das hier richtig verstehe, würde mich das nicht weiter bringen.
Ich dachte zuerst an ein Else in dieser If Bedingung:

If Left(fol.Name, 7) = snr Then
Dateien_suchen fol.ShortPath
Exit Sub
End If
Aber dann würde der Code ja jedesmal ausgeführt wenn die If-Bedingung Falsch ist und ich möchte, dass der Code nur ausgeführt wird wenn alle If-Bedingungen innerhalb der For-Schleife Falsch sind.
Ich hoffe es ist halbwegs verständlich..
Anzeige
AW: If Anweisung auslesen
29.09.2021 18:33:43
Oberschlumpf
Du hast ja ne Lösung.
Aber ich weiß ja nicht, was in Path drin steht, weil du es nicht erwähnt hast, ich konnte nur raten und hab geraten, dass Path = schon einer der Unterordner - sein soll - wenn aber nicht gefunden, dann Ordner - mit - Sachnummer nicht vorhanden...
Weiter viel Erfolg
AW: If Anweisung auslesen
29.09.2021 11:22:05
Rudi

Set OFol = fso.GetFolder(Path)
If OFol Is Nothing Then Exit Sub
'Unterverzeichnis durchgehen (Rekursiv)
For Each fol In OFol.SubFolders
If Left(fol.Name, 7) = snr Then
bolFOUND = True
Dateien_suchen fol.ShortPath
Exit Sub
End If
Next fol
später

If bolFOUND = True then Msgbox "hab was gefunden."

Anzeige
AW: If Anweisung auslesen
29.09.2021 13:50:49
Elias
Klappt perfekt. Danke für den Tipp :-)
Liebe Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige