Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateinamensuche mit Schleife

Forumthread: Dateinamensuche mit Schleife

Dateinamensuche mit Schleife
18.06.2024 12:08:40
AndreasH86
Hallo,

ich versuche per VBA einen Abgleich eines Dateinamens in einem Ordner zu schaffen. Der Ordner zum Abgleich ist ein Netzwerkordner.
Die Besonderheit daran ist, dass in der Excel ein Teil des Dateinamens ("Zelle") steckt, der zum Abgleich gebraucht wird.

Meine Versuchsdatei habe ich hier hochgeladen:
https://www.herber.de/bbs/user/170332.xlsm

Ich scheitere daran, dass zum Einen "Zelle" mittels For Each-Schleife ausgelesen werden soll, für den Abgleich aber vermutlich eine Do-Loop-Schleife gebraucht wird (korrigiert mich bitte, ich habe hier nicht viel Erfahrung und bin gerne lernbereit).

Könnt ihr mir hierbei helfen?

Viele Grüße
Andreas
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamensuche mit Schleife
18.06.2024 13:12:15
Onur
"ich versuche per VBA einen Abgleich eines Dateinamens in einem Ordner zu schaffen. Der Ordner zum Abgleich ist ein Netzwerkordner. Die Besonderheit daran ist, dass in der Excel ein Teil des Dateinamens ("Zelle") steckt, der zum Abgleich gebraucht wird. "
Und mit DIESEN Informationen sollen wir wissen, WAS GENAU du überhaupt WOMIT abngleichen willst ?
Anzeige
AW: Dateinamensuche mit Schleife
18.06.2024 13:30:40
ralf_b
  Dim Dateiname As String

Dim Pfad As String
Dim endrow&, Zelle As Range

endrow = Cells(Rows.Count, "A").End(xlUp).Row
Set Bereich = Sheets("Datenbank").Range("A2:A" & endrow)

If ComboBox1 = "" Or ComboBox2 = "" Then MsgBox "Datum fehlerhaft", vbCritical, "fehler": Exit Sub

For Each Zelle In Bereich
If Zelle > "" Then
Pfad = "\\Musterordner\2024\" & ComboBox2 & "\" & ComboBox1 & "\" & "RFID_" & Zelle '& "*.txt"
Dateiname = Dir(Pfad )
If Dateiname > "" Then
Zelle.Offset(0, 1) = "gefunden"
End If
End If
Next
Anzeige
AW: Dateinamensuche mit Schleife
18.06.2024 13:43:45
AndreasH86
Hallo ralf_b,

das ist genau, was ich gesucht habe. :)

Besten Dank für Deine Hilfe und einen schönen Tag noch.


Viele Grüße
Andreas
Gerne!
18.06.2024 14:01:47
ralf_b
AW: Dateinamensuche mit Schleife
18.06.2024 13:17:03
Oberschlumpf
schau dir Datei + vor allem Code an, dann = deine Fragen beantwortet
Anzeige
AW: Dateinamensuche mit Schleife
18.06.2024 13:18:31
Onur
Was für Code? Da werden nur Comboboxen befüllt - sonst nix.
AW: Dateinamensuche mit Schleife
18.06.2024 13:19:56
Oberschlumpf
nutz doch mal im VBE die Taste F8 und schau dir dann die befüllten Variablen an...
AW: Dateinamensuche mit Schleife
18.06.2024 13:22:38
Onur
DAS ist mir klar.
Und DU weisst, WIE GENAU sich der Dateiname daraus zusammensetzt ???
Anzeige
AW: Dateinamensuche mit Schleife
18.06.2024 13:27:30
Oberschlumpf
steht doch im code = n start-pfad + inhalte aus combos + inhalt aus zelle(bereich)...alles jeweils getrennt durch "\"
AW: Dateinamensuche mit Schleife
18.06.2024 13:32:34
AndreasH86
Also, ich versuche Licht ins Dunkel zu bringen:

In Spalte A befinden sich Nummern, z.B. die 000030.
Zu jeder dieser Nummern gibt es eine .txt-Datei abgespeichert, die sich in der Syntax "RFID_000030_202406180000" zusammensetzt.
Mich interessiert das Fragment bis RFID_000030.

Ich möchte per Makro wissen, ob es zu dieser Nummer, die sich in der Spalte A befindet, ein Protokoll abgespeichert gibt, das das Dateinamenfragment RFID_000030 im Dateinamen aufweist und mir in der Spalte B ausgeben lassen, ob es gefunden wurde ("gefunden"), oder nicht ("nicht gefunden").
Anzeige
AW: Dateinamensuche mit Schleife
18.06.2024 13:47:02
Onur
DAS sollte reichen:
Private Sub CommandButton1_Click()

Dim Suchbegriff As String
Dim Pfad, DateiName, zeile, lz
lz = Cells(Rows.Count, "A").End(xlUp).Row
Set Bereich = Sheets("Datenbank").Range("A2:A" & lz)
For Each zelle In Bereich
Pfad = "\\Musterordner\2024\" & ComboBox2 & "\" & ComboBox1 & "\" & "RFID_" & zelle & "*"
DateiName = Dir(Pfad)
If zelle > "" And DateiName > "" Then zelle.Offset(0, 1) = "gefunden"
Next
End Sub
Anzeige
AW: Dateinamensuche mit Schleife
18.06.2024 13:29:00
Onur
Hast Recht - Sorry.
Ich hätte mir den GANZEN Code ansehen sollen. :)
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige