Wie kann ich mit VBA eine Tabelle nach einem Wort durchsuchen, wobei ggf. auch ähnliche Worte gefunden werden und auf Groß- / Kleinschreibung verzichtet wird?

3 Antworten

Hab erst vor 3 Tagen angefangen mich in VBA reinzulesen von daher bin ich noch keineswegs geschult, aber folgendes könnte funktioniern:

Sub Suche()

Dim finden As Range

Set finden = Columns(1).Find(what:="Kobl*")
   
  MsgBox "Steht in Zeile: " & finden.Row

End Sub

Wobei du dabei natürlich jedes mal im Quellcode deinen Suchbegriff eingeben musst, wie du das in die Excel-Tabellenoberfläche einbindest weiß ich noch nicht ^^"

Außerdem ist der Suchradius noch auf eine Spalte beschränkt ...

Groß- und Kleinschreibung wird bei der Find-Funktion standardmäßig vernachlässigt.

Lg Tobi

Euti54 
Fragesteller
 27.03.2020, 17:40

Habe den Code ausprobiert, bleibt immer bei MSG-Box hängen. Morgen geht's weiter. Herzlichen Dank für deine Unterstützun.

1
lasttobi12  27.03.2020, 17:42
@Euti54

Bei mir funktioniert der Quellcode problemlos.

Hast du die Zahl bei "Columns" an deine Tabelle angepasst?

Und welche Fehlermeldung bekommst du denn?

1

Grundsäzlich ginge auch 
Strings.Instr(....) um eine beliebige Zeichenkette in anderen zu suchen.
Sofern der string vorhanden ist wird die 'Position' an welcher der Such-string im Gesamtstring beginnt zurückgegeben.  
Beispiel: Gesamtstring = Landkarte
Suchstring =ar
Pos = Strings.InStr(1,"Landkarte","ar",vbTextCompare)
in Pos findest du dann "6". Findet man nichts dann steht in pos "-1".
Das "ar" wäre auch gefunden worden wenn "LandKARTE" so geschrieben gewesen wäre da es nicht case sensitiv arbeitet. Die bereits beschriebene ".Find" Methode benötigt 'viel' Speicher. Verwende man diese Sollte man immer wieder ein
Set finden = Null einbauen, sonst verlangsamt sich die Abarbeitung von Aufruf zu Aufruf. 

Euti54 
Fragesteller
 29.03.2020, 13:22

Vielen Dank für die Infos, aber mein VBA-Verständnis reicht dazu leider nicht :-(

0