Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If Dateiname enthält "x" Then ...

Forumthread: If Dateiname enthält "x" Then ...

If Dateiname enthält "x" Then ...
Universal
Hallo zusammen,
irgendwie stehe ich auf dem Schlauch. Ich stelle mir das Problem gar nicht so schwierig vor:
Ich habe ein Makro für Excel programmiert. Das Makro soll je nach Dateinamen "dieses" oder "jenes" machen. Mein Problem ist nur, dass sich der Dateiname ständig änder (Datum, Versionierung etc.). Nur ein bestimmter Teil im Dateinamen bleibt gleich. Ich könnte den - wie ich finde - Umweg über die Funktion "MID" (Teil) gehen, aber dann muss ich für jede Datei den Anfang und das Ende definieren.
Gibt es nicht eine Funktion, die den gesamten Dateinamen (oder einen String) durchsucht?
Bsp.:
If Search(Dateiname,"XYZ") = True Then
Prozeduraufruf
End If
Ich danke euch vielmals im Voraus! :-)
Gruß
Uni
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: If Dateiname enthält "x" Then ...
07.10.2010 12:17:16
Beverly
Hi,
In Instr(Dateiname, "XYZ") > 0 then


AW: If Dateiname enthält "x" Then ...
07.10.2010 12:17:31
Hajo_Zi
Hallo Unbekannte(r),
Instr()

Anzeige
oder Like...
07.10.2010 13:02:53
JogyB
Hallo Uni,
If Dateiname Like "*XYZ*" Then
Gruß, Jogy
AW: If Dateiname enthält "x" Then ...
07.10.2010 13:12:19
Universal
Hallo zusammen,
cool, danke für die schnellen Lösungsvorschläge! jippiee
viele Grüße
Uni
;
Anzeige
Anzeige

Infobox / Tutorial

Wenn der Dateiname „x“ enthält: So funktioniert’s in Excel


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob ein Dateiname einen bestimmten Teilstring enthält, kannst du in Excel VBA die Funktionen Instr oder Like verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei, in der du das Makro hinzufügen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code in das Modul ein:

    Sub CheckDateiname()
       Dim Dateiname As String
       Dateiname = ThisWorkbook.Name  ' Aktueller Dateiname
    
       ' Überprüfung mit Instr
       If InStr(Dateiname, "XYZ") > 0 Then
           ' Prozeduraufruf
           MsgBox "Der Dateiname enthält XYZ!"
       End If
    
       ' Überprüfung mit Like
       If Dateiname Like "*XYZ*" Then
           ' Prozeduraufruf
           MsgBox "Der Dateiname enthält XYZ!"
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro CheckDateiname aus, um die Überprüfung durchzuführen.


Häufige Fehler und Lösungen

  • Fehler: „Komponente nicht gefunden“

    • Lösung: Stelle sicher, dass du die richtige Version von Excel verwendest, die VBA unterstützt (Excel 2007 und höher).
  • Fehler: „Typen sind nicht kompatibel“

    • Lösung: Überprüfe, ob der Dateiname-String korrekt zugewiesen wurde. Zum Beispiel, stelle sicher, dass du Dateiname = ThisWorkbook.Name für den aktuellen Dateinamen verwendest.

Alternative Methoden

Es gibt mehrere Ansätze, um die Überprüfung durchzuführen:

  • Verwendung von MID: Diese Funktion kann auch verwendet werden, aber wie du festgestellt hast, ist sie weniger flexibel, da du den genauen Start- und Endpunkt angeben musst.

  • Reguläre Ausdrücke: Du kannst auch mit regulären Ausdrücken arbeiten, um komplexe Muster zu erkennen, jedoch ist dies etwas anspruchsvoller und erfordert zusätzliche Referenzen im VBA-Editor.


Praktische Beispiele

Hier sind zwei praktische Beispiele für die Verwendung der Funktionen:

  1. Instr Beispiel:

    If InStr(Dateiname, "Bericht") > 0 Then
       ' Führe spezifische Aktionen aus
    End If
  2. Like Beispiel:

    If Dateiname Like "*Bericht*" Then
       ' Führe andere spezifische Aktionen aus
    End If

Beide Methoden sind nützlich, um zu prüfen, ob der Dateiname einen bestimmten Text enthält.


Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Kommentiere deinen Code, um die Lesbarkeit und Wartbarkeit zu erhöhen.
  • Teste dein Makro mit verschiedenen Dateinamen, um sicherzustellen, dass es unter allen Umständen funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich das Makro automatisch beim Öffnen der Datei ausführen? Du kannst die Workbook_Open-Ereignisprozedur verwenden, um das Makro automatisch auszuführen, wenn die Datei geöffnet wird.

2. Gibt es eine Möglichkeit, mehrere Teile im Dateinamen zu überprüfen? Ja, du kannst mehrere If-Bedingungen hintereinander verwenden oder eine Schleife einfügen, um eine Liste von Begriffen zu überprüfen.

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