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

Forumthread: If Abfrage - Beginnt mit - wie erstellen?

If Abfrage - Beginnt mit - wie erstellen?
Tom
Hallo,
wie stelle ich das eigentlich an, wenn ich eine IF-Abfrage machen möchte und testen will ob das Gesuchte mit XXXX beginnt ?
If wks.Name = "Muster(*)" Then
Also * ist eine Zahl aber immer eine andere. Ich würde gern eine Aktion ausführen, wenn wks.Name Muster(1) oder Muster(2) oder Muster(3)... und so weiter ist.
Die Schleife ist mir klar...ich weis nur nicht wie ich If so hinbekomme das ich ein true erhalte wenn wks.Name mit Muster beginnt...
Also der * als Wildcard...
Ich hoffe ich hab mich klar ausdrücken können.
Danke
Der Tom
Anzeige

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

Betreff
Benutzer
Anzeige
AW: If Abfrage - Beginnt mit - wie erstellen?
06.10.2009 08:35:18
selli
if left(wks.Name,6)="Muster" Then
gruß selli
AW: If Abfrage - Beginnt mit - wie erstellen?
06.10.2009 08:58:14
Tom
Perfekt...
Danke!
AW: If Abfrage - Beginnt mit - wie erstellen?
06.10.2009 10:02:58
JogyB
Hi.
Du kannst auch Like verwenden...
If wks.Name Like "Muster(*)" Then
Ist etwas flexibler als die Methode von selli, das dort ja auch Muster38 ein True ergeben würde, was Du ja nicht willst.
Du könntest auch
If wks.Name Like "Muster(#)" Then
nehmen, dann darf in der Klammer nur eine einstellige Zahl stehen. Wenn auch mehrstellige Zahlen vorkommen können, dann muss für jede Stellenanzahl ein eigener Vergleich rein, also z.B.
If wks.Name Like "Muster(#)" or wks.Name Like "Muster(##)" wks.Name Like "Muster(###)" Then
Damit wären dann 1-3stellige Zahlen erschlagen.
Gruss, Jogy
Gruss, Jogy
Anzeige
AW: If Abfrage - Beginnt mit - wie erstellen?
06.10.2009 10:20:29
Tom
Oh das ist auch nicht schlecht...allerdings sind alle restlichen wks.Name nur 4-Stellig, so das die, die mit Muster beginnen immer true ergeben dürfen.
Aber für die eine oder andere kommende Aufgabe ist Like evtl. die bessere Wahl.
Vielen Dank!
Der Tom
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

If-Abfrage in Excel: So testest du, ob ein Text beginnt mit


Schritt-für-Schritt-Anleitung

Um eine If-Abfrage in Excel zu erstellen, die prüft, ob ein Text mit einem bestimmten Wort beginnt, kannst du die LEFT-Funktion verwenden. Hier ist eine einfache Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).

  3. Gib den folgenden Code ein:

    Sub BeispielIfAbfrage()
       Dim wks As Worksheet
       Set wks = ThisWorkbook.Worksheets("DeinTabellenblatt") ' Ändere den Namen entsprechend
    
       If Left(wks.Name, 6) = "Muster" Then
           ' Deine Aktion hier
           MsgBox "Das Arbeitsblatt beginnt mit 'Muster'."
       End If
    End Sub
  4. Führe das Makro aus, um zu testen, ob das Arbeitsblatt mit "Muster" beginnt.


Häufige Fehler und Lösungen

  • Fehler: Der Code läuft nicht, weil der Arbeitsblattname falsch ist.

    • Lösung: Stelle sicher, dass der Arbeitsblattname korrekt in Set wks = ThisWorkbook.Worksheets("DeinTabellenblatt") angegeben ist.
  • Fehler: Die If-Abfrage liefert ein unerwartetes Ergebnis.

    • Lösung: Überprüfe, ob der Text, den du testest, tatsächlich mit dem angegebenen Wort beginnt. Achte besonders auf Leerzeichen.

Alternative Methoden

Eine alternative Methode zur Überprüfung, ob ein Text beginnt mit einem bestimmten Wort, ist die Verwendung der Like-Anweisung. Beispiel:

If wks.Name Like "Muster(*)" Then
    ' Deine Aktion hier
End If

Diese Methode ist flexibler, da sie auch Wildcards unterstützt. Wenn du nur eine einstellige Zahl erlauben möchtest, kannst du Folgendes verwenden:

If wks.Name Like "Muster(#)" Then
    ' Deine Aktion hier
End If

Praktische Beispiele

  • Beispiel 1: Überprüfen, ob ein Arbeitsblatt mit "Bericht" beginnt.

    If Left(wks.Name, 7) = "Bericht" Then
      MsgBox "Das Arbeitsblatt beginnt mit 'Bericht'."
    End If
  • Beispiel 2: Verwendung von Like, um Arbeitsblätter mit "Projekt" zu identifizieren.

    If wks.Name Like "Projekt(*)" Then
      MsgBox "Das Arbeitsblatt beginnt mit 'Projekt'."
    End If

Tipps für Profis

  • Nutze die LEN-Funktion, um dynamisch die Länge des Vergleichs zu bestimmen.
  • Dokumentiere deine Makros gut, damit du später nachvollziehen kannst, warum bestimmte Bedingungen gesetzt wurden.
  • Teste deine If-Abfragen immer mit verschiedenen Beispielen, um sicherzustellen, dass sie unter allen Umständen korrekt funktionieren.

FAQ: Häufige Fragen

1. Frage: Wie kann ich prüfen, ob eine Zelle mit einem bestimmten Text beginnt?
Antwort: Verwende die LEFT-Funktion zusammen mit einer If-Abfrage, um den Inhalt einer Zelle zu überprüfen. Beispiel:

If Left(Range("A1").Value, 6) = "Muster" Then
    ' Deine Aktion hier
End If

2. Frage: Gibt es eine Methode, um mehrere Bedingungen in einer If-Abfrage zu kombinieren?
Antwort: Ja, du kannst Or verwenden, um mehrere Bedingungen zu kombinieren. Beispiel:

If wks.Name Like "Muster(*)" Or wks.Name Like "Bericht(*)" Then
    ' Deine Aktion hier
End If

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