Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

InStr() mit versch. Suchkriterien

Forumthread: InStr() mit versch. Suchkriterien

InStr() mit versch. Suchkriterien
31.03.2020 12:09:10
Georg
Hallo Excel Welt,
ich möchte mit InStr() die erste bzw. zweite Position einer Buchstabenfolge finden. In der Quellzelle (vTEXT)steht "bla-bxla-bbla". Das funzt wie folgt.
vTEXT = Range("P14").Value
Pos1 = InStr(1, vTEXT, "bl") 'erste Position
Pos2 = InStr(Pos1 + 1,vTEXT, "bl") 'zweite Position
Pos3 = InStr(Pos2 + 1,vTEXT, "bl") 'dritte Position
Ich will aber, dass er auch z.B. "BL" findet. Oder "bL". Und dann die Position in die entsprechende Variable schreibt.
Kurz gesagt: statt "bl" sollte im Code sowas wie: "OR("bl","BL","bL")" stehen, also verschiedene Suchkriterien.
Das will VBA aber so einfach nicht akzeptieren. Geht doch bestimmt, aber wie?
Gruß und schon vielen Dank für eure Hilfe!!
Georg
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: InStr() mit versch. Suchkriterien
31.03.2020 12:17:16
Markus
Hallo,
Funktioniert das ggf. mit einem Umweg über "IF" und "THEN" ? Ungefähr so?
If Pos1 = InStr(1, vTEXT, "bl") 'erste Position THEN
Pos2 = InStr(Pos1 + 1,vTEXT, "bl") 'zweite Position
Pos3 = InStr(Pos2 + 1,vTEXT, "bl") 'dritte Position
END IF
If Pos1 = InStr(1, vTEXT, "Bl") 'erste Position THEN
Pos2 = InStr(Pos1 + 1,vTEXT, "Bl") 'zweite Position
Pos3 = InStr(Pos2 + 1,vTEXT, "Bl") 'dritte Position
END IF
If Pos1 = InStr(1, vTEXT, "bL") 'erste Position THEN
Pos2 = InStr(Pos1 + 1,vTEXT, "bL") 'zweite Position
Pos3 = InStr(Pos2 + 1,vTEXT, "bL") 'dritte Position
END IF
Ciao
Anzeige
AW: InStr() mit versch. Suchkriterien
31.03.2020 12:18:52
peterk
Hallo
z.B. vTEXT= LCase( Range("P14").Value) und dannach nach "bl" suchen
AW: InStr() mit versch. Suchkriterien
31.03.2020 12:20:52
volti
Hallo Georg,
entweder kannst Du es im Einzelfall um den Parameter compareText=1 erweitern
Pos1 = InStr(1, vTEXT, "bl",vbTextCompare)
oder
Pos1 = InStr(1, vTEXT, "bl",1)
oder Du setzt als Erstes oben im Modul den Schalter
Option Compare Text
Dann wird Groß/Kleinschreibung immer ignoriert.
viele Grüße
Karl-Heinz
Anzeige
Bingo - genau das war's!
31.03.2020 12:30:37
Georg
Vielen Dank an alle für die Vorschläge!
;

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