Makroprogrammierung Excel 2007

Hallo,

mit einem Makro will ich Strings vergleichen, aber es soll ein „nicht strenger“ Vergleich sein.

Beispiel:

Wert von Zelle A1: Käse
Wert von Zelle A2: Käsekuchen

Das Makro soll jetzt A1 und A2 vergleichen und zu dem Ergebnis kommen, dass eine Gleichheit vorliegt, weil „Käse“ im Wort „Käsekuchen“ vorkommt.

Für Antworten besten Dank im Voraus.

Grüße

Max

Hi,

hab nur Zeit für eine Kurzantwort…

Also, wenn er reicht, das ein Wort enthalten ist, dann sieh dir mal die Funktion instr() an.

Weil es nicht so streng sein soll, könntest du noch auf Unterschiede zwischen Groß-/Kleinschreibung verzichten: z. B. mit lcase().

Vieleicht musst du auch noch Sonderzeichen berücksichtigen: ae = ä

Das kannst du ggf. mit replace() hingekommen.

Grüße

powerblue

Oje, Max,

Stringvergleiche sind immer ein ganz heikles Thema. Wenn es wirklich „nur“ darauf hinaus läuft, einen Teilstring in einem String zu finden, könnte das so gehen:

Sub test1()
 Dim ergebnis As Boolean

 ergebnis = istGleich(Range("A1"), Range("A2"))
End Sub

Function istGleich(s1 As String, s2 As String) As Boolean
 istGleich = (InStr(s1, s2) 0) Or (InStr(s2, s1) 0)
End Function

Gruß, Andreas

Hallo Andreas, Hallo power_blue,

vielen Dank für eure Antworten. Ihr habt mein VBA-Problem gelöst.

Beste Grüße

Max