1.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich frage mich ob es möglich ist, per VBA in einem bestimmten Textfeld
zu suchen. Wenn der Suchtext gefunden wurde, soll die
Buchstabennummer in eine Variable geschrieben werden.

Hier ein Beispiel:

Suchen in "Textfeld1" nach "Beispiel".
Text in Textfeld1: "Das ist ein Beispiel:".
Startnummer: 13

Wie kann ich das machen? Mit Makro aufzeichnen bin ich nicht
weitergekommen. Die Excelsuchfunktion ermöglicht es nicht, nur in
Textfeldern zu suchen.

Habt ihr irgendeine Idee?

Beste Grüße,
critchm

5 Antworten

0 Punkte
Beantwortet von
Hallo nochmal,

hier ein erster verzweifelter Lösungsansatz:
Ich prüfe jeden Buchstaben im Textfeld darauf, ob er gleich dem ersten
in meinem Suchtext ist. Wenn ja, prüfe ich den zweiten usw.

Problem ist, wie kann ich einen bestimmten Buchstaben des Textfeldes
auslesen, also z.B. Buchstabe 13?

Hat irgendjemand eine Idee?

Beste Grüße,
critchm
0 Punkte
Beantwortet von
Habe es selbst hinbekommen! :-)

In einem vorherigen Schritt schreibe ich den String in das Textfeld. Also
durchsuche ich jetzt einfach den String ;-)

Trotzdem danke für die Hilfe bei meinen vielzähligen VBA-Anfragen.

Beste Grüße,
critchm
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

nur mal als Hinweis: mit der Funktion InStr kann man nach einem bestimmten Inhalt suchen, auch in Textfeldern. Leider schreibst du nicht, was für ein Textfeld du verwendest, denn die erforderlichen Codes sind etwas unterschiedlich in Abhängigkeit vom verwendeten Steuerelement. Aber vom Prinzip her würde der Code so aussehen:

If InStr(DeinSteuerelement.Text, "13") > 0 Then MsgBox "Vorhanden"


Bis später,
Karin
0 Punkte
Beantwortet von
Hallo Karin,

genauso habe ich es gemacht :-).
Musste es dann aber noch etwas erweitern, da ich noch eine zweite
Textstelle finden musste um von ... bis Text zu formatieren. Das bis-
Suchwort war dann noch von einer anderen Prozedur abhängig. Aber
das konnte ich mit ein paar If-Anweisungen lösen.

Danke für deine Antwort. Auch für deine Hilfe bei meiner anderen
Anfrage. Ich habe es bis jetzt noch ohne OnError GoTo gemacht weil
ich bisher keinen Fehler mutwillig hervorbringen konnte. Habe alle
Eventualitäten abgefangen. Aber nur für den Fall werde ich es noch
einbauen.

Bezüglich der Textfelder: ich habe .AddShape(left, Top, width, height)
benutzt.

Beste Grüße,
critchm
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

Ich habe es bis jetzt noch ohne OnError GoTo gemacht weil
ich bisher keinen Fehler mutwillig hervorbringen konnte. Habe alle
Eventualitäten abgefangen. Aber nur für den Fall werde ich es noch
einbauen.


Das solltest du am besten in dem anderen Trhead schreiben, denn hier kann niemand etwas damit anfangen. :)

Bis päter,
Karin
...