Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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

Suchbegriff genauer definieren

Suchbegriff genauer definieren
03.09.2023 00:30:47
Patrick
Hallo zusammen,

ich habe ein kleines Probleme und zwar wenn ich in P2 denn Wert 947 eingebe wird die Datei 945 geöffnet, da er nicht nach allen 3 stellen sucht sondern die erst beste
nimmt. Es müssten alle 3 werte übereinstimmen.


Meine Dateinamen haben folgendes Format:
Vorname Nachname_2023 -945
Vorname Nachname_2023 -946
Vorname Nachname_2023 -947

Private Sub Suchen ()
Dim Dateinmame As String
Dim Suchbegriff As String
Dim Pfad As String

I = P2 'Suchfeld im Tabellenblatt


Pfad = "C:\Users\psalm\OneDrive\Desktop\Offert_2023\Offert_2023_Excel\"
Suchbegriff = I
Dateinmame = Dir(Pfad & "*" & "_2023" & Suchbegriff & "*.xls")
If Dateinmame > "" Then
Workbooks.Open Pfad & Dateinmame
Else

MsgBox "Nicht gefunden"

End If
End Sub

Bitte um Hilfe Danke




2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchbegriff genauer definieren
03.09.2023 07:41:16
RPP63
Moin!
Der Suchbegriff P2 ist ja auch etwas ganz anderes als Range("P2").Value
P2 ist zur Laufzeit eine (leere) undeklarierte Variable
Wenn Du I As Long deklariert hättest, würde Dir das Makro auch um die Ohren fliegen.
Nutze mal das Lokalfenster.
Dann wirst Du sehen, dass I Leer bleibt und in Folge dessen die Variable Suchbegriff einen Leerstring darstellt.
Allgemein:
Gerade da Du Dich als VBA bescheiden bezeichnest:
Nutze unbedingt Option Explicit

Gruß Ralf
Suchbegriff genauer definieren
03.09.2023 08:07:39
Alwin Weisangler
Hallo Patric,

es sind mehrere Sachen nicht richtig.


Option Explicit

Private Sub Suchen()
Dim Dateinmame$, Suchbegriff$, Pfad$, I$
I = Tabelle1.Range("P2") 'Suchfeld im Tabellenblatt
Pfad = "C:\Users\psalm\OneDrive\Desktop\Offert_2023\Offert_2023_Excel\"
Suchbegriff = I
If I > "" Then Dateinmame = Dir(Pfad & "*" & "_2023 -" & Suchbegriff & "*.xls")
If Dateinmame > "" Then
Workbooks.Open Pfad & Dateinmame
Else
MsgBox "Nicht gefunden"
End If
End Sub

Schreibe in die erste Zeile "Option Explicit"
Dann zeigen sich alle fehlerbehafteten Teile.
Die Umwege die du gegangen bist habe ich drin gelassen, zwecks verstehen lernen.
Den Platzhalter am Ende des Suchstrings brauchst du entsprechend deiner Vorgaben normalerweise nicht.

Gruß Uwe

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige