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

Teilstring "was " in Zelle suchen

Teilstring "was " in Zelle suchen
06.04.2009 11:30:35
Werner
VBA-Level: befriedigend
Hallo Freunde,
innerhalb einer Spalte sollen diejenigen Zellen markiert werden, die den Teilstring "was " (einschliesslich der Leerstelle) enthalten, aber nicht,
wenn "was " direkt auf "et" oder direkt auf "nd" folgt. Sinn ist, zwar den Teilstring "was " zu suchen, aber die Teilstrings "etwas " und "irgendwas " auszuschliessen,wenn der Teilstring "was " Subteilstring des Zellenteilstrings "etwas " oder des Zellenteilstrings "irgendwas " ist.
Wenn in der Zelle allerdings sowohl der Teilstring "etwas " als auch (an anderer Stelle
des Zellenstrings) der Teilstring "was " oder sowohl der Teilstring "was " als auch der Teilstring "irgendwas " enthalten sind, soll die Zelle auch markiert werden.
Der Zweck ist, Zellen zu markieren, die das Fragewort "was " enthalten.
Wie geht das?
Versucht habe ich es mit Codes der Art
Dim Zelle As Range
Set Zelle =...
Select Case True
Case Like [!e][!t]"was "
...
aber irgendwie habe ich es nicht hinbekommen. Wer weiss Rat? Besten Dank! Werner R.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ich habs mal versucht ...
06.04.2009 11:48:39
Matthias
Hallo
Hatte heute früh schon mal an Thomas eine ähnliche Antwort geschickt.
Hier mal angepasst.
https://www.herber.de/bbs/user/61023.xls
Hilft's
Gruß Matthias
Klappt noch nicht
06.04.2009 13:42:37
Werner
Hallo Matthias,
also, eben scheint es eine Art Störung gegeben zu haben. Jedenfalls war die Herber-Website für mich
ca. eine Dreiviertelstunde nicht erreichbar.
Vielen Dank f. deinen Code.
Ich habe ihn Code getestet und eine Antwort geschrieben, die durch die Störung leider verloren-
gegangen ist. Hier noch mal, etwas kürzer:
Dein Code bewirkt in meinem Worksheet nichts, weil die Wörter "was ", "etwas " usw. meist in der
Mitte der zu durchsuchenden Zellen vorkommen, die ganze Sätze enthalten.
Grüße Werner R.
Anzeige
AW: Teilstring "was " in Zelle suchen
06.04.2009 14:17:13
D.Saster
Hallo,
so?

Sub ttt()
Dim vntTmp, strTmp As String, rngC As Range, rngFound As Range
For Each rngC In Columns(1).SpecialCells(xlCellTypeConstants)
strTmp = rngC
vntTmp = Split(strTmp, " ")
If Not IsError(Application.Match("was", vntTmp, 0)) Then
If rngFound Is Nothing Then
Set rngFound = rngC
Else
Set rngFound = Union(rngC, rngFound)
End If
End If
Next
If Not rngFound Is Nothing Then rngFound.Select
End Sub


Gruß
Dierk

Code erhalten, besten Dank!
06.04.2009 14:30:04
Werner
Hallo Dierk,
vielen herzl. Dank f. diesen eindrucksvollen Code!! Wegen der späten Abendstunde in meiner Zeitzone kann ich ihn erst morgen implementieren. Gebe dann Bescheid. Beste Grüße! Werner R.
Anzeige
funktioniert prima!
07.04.2009 04:50:34
Werner
Hallo Dierk,
habe deinen Code inzwischen ausprobiert. Er funktioniert einwandfrei!
Dieser mittellange Code ist sehr aufschlussreich. Ich habe durch ihn folgendes gelernt:
1. Man kann eine Spalte in einer Tabelle auch mit einer For Each-Schleife und den SpecialCells durchsuchen. Ich hatte das immer, etwas umständlicher, mit einer For...-Next-Schleife gemacht.
2. Die Variable "vntTmp" enthält ein durch "Split" zugewiesenes Array. Originell ist hier die Verwendung
der Worksheetfunction "Match". Diese durchsucht bekanntlich eine einspaltige Matrix. Dass man
damit auch Arrayvariablen durchsuchen kann, darauf wäre ich selbst nicht gekommen. Da "Split" hier
das Leerzeichen als Trennzeichen verwendet, findet Match dann, wie beabsichtigt, nur das Wort "was", nicht aber "etwas" und 'irgendwas".
3. Die gefundenen Zellen werden mit "Union" zu einem einzigen, nicht zusammenhängenden Bereich
vereinigt, der am Ende des Codes dann mit der Select-Anweisung markiert wird. Dadurch werden alle
Zellen, die das Wort "was" enthalten, in der Tabelle markiert.
Obige Erklärungen sind eher für Dritte gedacht, um zu zeigen, wie viel in einem solchen Code stecken kann. Dass ich dir als dem Entwickler des Codes damit nichts Neues sage, ist mir klar.
Nochmals besten Dank! Grüße Werner R.
Anzeige

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige