Suchergebnis auch bei ähnlichen Suchbegriffen
Markus
Zunächst die Situation:
Ich habe im Tabellenblatt1 in Spalte B Begriffe stehen.
Wenn ich in die Zelle AG1 einen Begriff eingebe, sucht mir das hinterlegte Makro diesen Begriff in Spalte B, geht in die Zelle links daneben und so lange nach oben, bis eine Zelle mit einem Eintrag kommt und diesen Eintrag bekomme ich dann als Ergebnis in einer Message Box angezeigt.
Die Suche findet derzeit nur Begriffe, die dieselbe Zeichenreihenfolge haben (ohne Beachtung der Groß- und Kleinschreibung). Also wenn in Spalte B "Auto" steht, funktioniert alles einwandfrei, wenn ich nach "Auto", "auto" oder "auTo" suche.
Jetzt hätte ich gerne folgende Funktion:
Wenn in Spalte B "Auto PX2000" oder/und "Auto-2000" steht, soll bei der Suche nach "Auto" im Ergebnisfenster (Message Box) so etwas stehen wie: "Es wurden ähnliche Begriffe gefunden:" und dann die Ergebnisse für "Auto PX2000" und "Auto-2000".
So etwas in der Richtung zumindest! Es muss nicht genau so sein! Ich freue mich über jede Möglichkeit, die ihr findet, um auch ähnliche Suchbegriffe mit Ergebnissen auszugeben.
Eine andere (vielleicht leichtere) Idee wäre, in der Message Box für die ergebnislose Suche (siehe Makro), einen Satz einzufügen wie "Meinten Sie: 'Auto PX2000' oder 'Auto-2000'". Hierfür müsste das Makro eben so ergänzt werden, dass es nach ähnlichen Begriffen sucht und nur diese ausgibt, ohne dass das Makro gleich für diese ähnlichen Begriffe nochmal die richtige Suche durchführt und die Ergebnisse von dieser ausgibt. Ich hoffe ihr versteht was ich meine. :)
Danke im Voraus und schöne Grüße,
Markus
PS: Vermutlich kann ich erst in 2 oder 4 Tagen hier wieder rein schauen. Ich hoffe das ist kein Problem.
Option Explicit
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'wenn mehr als eine Zelle geändert wurde
If Target.Address "$AG$1" Then Exit Sub 'Die Zelle AG1 wurde nicht geändert
Dim myB As String
Dim myA As String
Dim myC As String
Dim Counter As Integer
Counter = 1
myB = Range("AG1")
For Counter = 1 To ActiveSheet.UsedRange.Rows.Count
If ActiveSheet.Range("B" & Counter) = myB Then
If Range("A" & Counter - 1) = "" Then
myC = Range("A" & Counter).End(xlUp)
Else
myC = Range("A" & Counter - 1)
End If
myA = myA & Chr(10) & myC
End If
Next
If myA = "" Then
MsgBox "Bei der Suche nach """ & myB & """ wurde nichts gefunden! Bitte beachten Sie die _
genaue Schreibweise des Begriffs. " & Chr(13) & Chr(13), vbOKOnly + vbCritical, "Ergebnisse der _
_
Suche nach " & myB
Else
MsgBox "Folgende Ergebnisse wurden gefunden """ & myB & """:" & Chr(13) & Chr(13) & myA & _
_
_
Chr(13) & Chr(13), vbOKOnly + vbInformation, "Ergebnisse der Suche nach " & myB
End If
End Sub