Instr-Funktion in VBA: Groß- und Kleinschreibung ignorieren
Schritt-für-Schritt-Anleitung
Um die InStr
-Funktion in VBA so zu nutzen, dass sie die Groß- und Kleinschreibung ignoriert, kannst Du die Zeichenfolgen zuerst mit UCase
oder LCase
in eine einheitliche Schreibweise umwandeln. Hier ist, wie Du es machst:
-
Öffne den VBA-Editor: Drücke ALT
+ F11
in Excel, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf VBAProject (DeineMappe)
> Einfügen
> Modul
.
-
Schreibe den folgenden Code:
Sub Beispiel_InStr()
Dim SuchString As String
Dim SuchZeichen As String
Dim Ergebnis As Integer
SuchString = "Hallo"
SuchZeichen = "l"
' Groß- und Kleinschreibung ignorieren
Ergebnis = InStr(1, UCase(SuchString), UCase(SuchZeichen))
MsgBox "Das Suchzeichen " & SuchZeichen & " befindet sich an Position: " & Ergebnis
End Sub
-
Führe das Makro aus: Drücke F5
, um das Makro auszuführen und das Ergebnis zu sehen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um die Groß- und Kleinschreibung zu ignorieren, ist die Verwendung von Replace
, um den Suchstring und das Suchzeichen vor dem InStr
-Aufruf zu vereinheitlichen. Beispiel:
Ergebnis = InStr(1, Replace(SuchString, "l", "L"), "L")
Diese Methode kann allerdings weniger flexibel sein, wenn Du mehrere Zeichen in verschiedenen Schreibweisen suchen möchtest.
Praktische Beispiele
Hier sind einige praktische Beispiele, die Dir helfen können:
-
Suche nach mehreren Zeichen:
Sub Mehrere_Zeichen()
Dim text As String
Dim ergebnis As Integer
text = "Das ist ein Test."
ergebnis = InStr(1, UCase(text), UCase("test"))
MsgBox "Das Wort 'test' beginnt an Position: " & ergebnis
End Sub
-
Verwendung in einer Schleife:
Sub Schleife()
Dim arr As Variant
Dim i As Integer
arr = Array("Hallo", "Welt", "VBA", "Programmierer")
For i = LBound(arr) To UBound(arr)
If InStr(1, UCase(arr(i)), UCase("vba")) > 0 Then
MsgBox "VBA gefunden in: " & arr(i)
End If
Next i
End Sub
Tipps für Profis
-
Nutze InStrRev
, falls Du die Suche von hinten nach vorne durchführen möchtest. Dies ist besonders nützlich, wenn Du das letzte Vorkommen eines Zeichens finden möchtest.
-
Experimentiere mit Option Compare Text
am Anfang Deines Moduls. Dies bewirkt, dass alle String-Vergleiche standardmäßig die Groß- und Kleinschreibung ignorieren.
FAQ: Häufige Fragen
1. Frage
Wie kann ich die InStr
-Funktion in Excel verwenden?
Antwort: In Excel gibt es die FINDEN
-Funktion, die jedoch die Groß- und Kleinschreibung beachtet. Um sie unabhängig von der Groß- und Kleinschreibung zu verwenden, kannst Du SUCHEN
verwenden.
2. Frage
Gibt es eine Möglichkeit, die Funktionen GROSS
und KLEIN
in VBA zu verwenden?
Antwort: Ja, Du kannst UCase
und LCase
in VBA verwenden, um Groß- und Kleinschreibung bei Strings zu steuern.