Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Stringvergleich übereinstimmung suchen

Stringvergleich übereinstimmung suchen
04.11.2013 10:09:30
karl
hallo vba Profis
wie kann ich Meier, Fritz (mein String) mit einer Liste von verschiedenen
schreibweisen von Meier vergleichen und quasi die übereinstimmung feststellen.
Benötige wenn das mit vba machbar ist bitte eine vba Lösung.
https://www.herber.de/bbs/user/87921.xls
besten dank
karl

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Stringvergleich übereinstimmung suchen
04.11.2013 11:13:36
ChrisL
Hi Karl
Hier ein Vorschlag:
Private Sub CommandButton1_Click()
Dim SuchStr As String
Dim i As Long
SuchStr = Left(Range("B5"), InStrRev(Range("B5"), " ") + 1)
SuchStr = ReplaceSpez(SuchStr)
For i = 6 To 11
If ReplaceSpez(Cells(i, 2).Value) = SuchStr Then
Cells(i, 3).Value = "Gleich"
Else
Cells(i, 3).Value = "Ungleich"
End If
Next
End Sub
Private Function ReplaceSpez(SuchStr As String) As String
SuchStr = Replace(SuchStr, " ", "")
SuchStr = Replace(SuchStr, ".", "")
SuchStr = Replace(SuchStr, ",", "")
ReplaceSpez = UCase(SuchStr)
End Function

cu
Chris

Anzeige
AW: Stringvergleich übereinstimmung suchen
04.11.2013 11:14:04
ChrisL
Hi Karl
Hier ein Vorschlag:
Private Sub CommandButton1_Click()
Dim SuchStr As String
Dim i As Long
SuchStr = Left(Range("B5"), InStrRev(Range("B5"), " ") + 1)
SuchStr = ReplaceSpez(SuchStr)
For i = 6 To 11
If ReplaceSpez(Cells(i, 2).Value) = SuchStr Then
Cells(i, 3).Value = "Gleich"
Else
Cells(i, 3).Value = "Ungleich"
End If
Next
End Sub
Private Function ReplaceSpez(SuchStr As String) As String
SuchStr = Replace(SuchStr, " ", "")
SuchStr = Replace(SuchStr, ".", "")
SuchStr = Replace(SuchStr, ",", "")
ReplaceSpez = UCase(SuchStr)
End Function

cu
Chris

Anzeige
AW: Stringvergleich übereinstimmung suchen
04.11.2013 11:26:02
karl
Hallo Chris,
danke schonmal, werde ich heute abend gleich ausprobieren
gruss
karl

Alternative
04.11.2013 20:27:34
CitizenX
Hi,
hier mein Senf:
Sub CheckString()
Dim ocell
Dim Regex As Object: Set Regex = CreateObject("vbscript.regexp")
Dim strMatch: strMatch = Range("B5").Text  'ggf anpassen
Dim myRange: Set myRange = Range("B6:B11") 'ggf anpassen
With Regex
.Global = True
.ignorecase = True
.Pattern = "([a-zäöüß]+)\W+"
strMatch = .Replace(strMatch, "$1")
For Each ocell In myRange
ocell.Offset(, 1) = CBool(InStr(1, strMatch, .Replace(ocell.Text, "$1"),  _
vbTextCompare) = 1)
Next
End With
End Sub

VG
Steffen

Anzeige
AW: Alternative
05.11.2013 09:24:59
karl
Hallo Steffen,Chris
vielen danke, eure vorschläge funktionieren bestens.
schönen Tag
karl
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige