Abfrage mit "if not instr(...)"
Schritt-für-Schritt-Anleitung
- Öffne den VBA-Editor in Excel mit
ALT + F11
.
- Füge ein neues Modul ein, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.
- Schreibe den folgenden Code:
Sub CheckString()
Dim text1 As String
Dim text2 As String
text1 = "Das ist ein Beispieltext"
text2 = "text2"
If Not InStr(1, text1, text2) > 0 Then
' Aktion ausführen, wenn text2 nicht in text1 gefunden wird
MsgBox "text2 ist nicht in text1 enthalten."
End If
End Sub
- Führe das Makro aus, um zu überprüfen, ob der String "text2" in "text1" vorhanden ist.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Möglichkeit, die gleiche Logik zu implementieren, ist die Verwendung von If InStr(...) = 0 Then
. Hier ist ein Beispiel:
If InStr(1, text1, text2) = 0 Then
' Aktion ausführen
End If
Diese Methode verwendet die Rückgabewerte von InStr
, um zu prüfen, ob der gesuchte Text vorhanden ist.
Praktische Beispiele
Hier ist ein praktisches Beispiel, das die Verwendung von If Not InStr(...)
in einer Excel-Anwendung zeigt:
Sub CheckForKeyword()
Dim cellValue As String
cellValue = Range("A1").Value
Dim keyword As String
keyword = "Excel"
If Not InStr(1, cellValue, keyword) > 0 Then
MsgBox "Das Keyword 'Excel' ist nicht in der Zelle A1 enthalten."
End If
End Sub
In diesem Beispiel wird der Inhalt der Zelle A1 überprüft, um festzustellen, ob das Wort „Excel“ enthalten ist oder nicht.
Tipps für Profis
- Verwende die
Option Explicit
Anweisung am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
- Nutze die
Debug.Print
Funktion, um den Wert von Variablen während der Ausführung zu überprüfen.
- Experimentiere mit
If Not InStr(...)
in Kombination mit anderen Bedingungen, um komplexere Logiken zu erstellen.
FAQ: Häufige Fragen
1. Wie funktioniert die InStr
-Funktion?
Die InStr
-Funktion gibt die Position des ersten Vorkommens eines Substrings zurück. Wenn der Substring nicht gefunden wird, gibt sie 0 zurück.
2. Was ist der Unterschied zwischen If Not InStr(...)
und If InStr(...) = 0
?
Beide Methoden erreichen dasselbe Ziel, aber die erste Methode verwendet die Negation, während die zweite Methode direkt prüft, ob der Wert 0 ist.