Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vergleichen von Strings, auch mit ?-Wild

Vergleichen von Strings, auch mit ?-Wild
30.09.2020 09:09:14
Strings,
Hallo,
in der Datei https://www.herber.de/bbs/user/140534.xlsx lese ich aus Zelle A1 einen String aus und suche in Zelle A2 nach diesem String. Der Eintrag in Zelle A2 kann hierbei in folgenden Formen auftreten:
  • unmittelbar der gesuchte String

  • der gesuchte String, jedoch mit ?-Wildcards

  • unmittelbar der gesuchte String, jedoch gemeinsam mit weiterem Text

  • der gesuchte String, jedoch mit ?-Wildcards, und zusätzlich noch weiterer Text (Beispiel dafür in Zelle A4 der verlinkten Datei)
  • .
    Ich verwende folgenden Code:
    Dim Artikel1, Artikel2 As String
    Artikel1 = Sheets("Tabelle1").Cells(1, 1).Value
    Artikel2 = Sheets("Tabelle1").Cells(2, 1).Value
    'If InStr(Artikel2, Artikel1) Then
    If Artikel1 Like Artikel2 Then
    MsgBox ("Nummer gefunden")
    Else: MsgBox ("Nummer nicht gefunden")
    End If
    In den ersten drei Fällen klappt das, nur im vierten Fall nicht. Hat jemand dafür eine Lösung? Ich habe es statt Like auch schon mit InStr versucht (siehe auskommentierter Code), jedoch ohne Erfolg. Danke für jedwede Hilfe!

    12
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 10:32:49
    Strings,
    Hallo tab1of,
    steht die gesuchte Wert immer am Anfang oder am Ende im Suchstring?
    Dann könnte es mit u.a. Code klappen.
    Ansonsten ggf. mit regulären Ausdrücken probieren.

    Code:
    [Cc]
     
    Option Compare Text Sub Test() Dim Artikel1, Artikel2 As String, Artikel3 As String With Sheets("Tabelle1") Artikel1 = .Cells(1, 1).Value Artikel2 = Left$(.Cells(5, 1).Value, Len(Artikel1)) Artikel3 = Right$(.Cells(5, 1).Value, Len(Artikel1)) If (Artikel1 Like Artikel2) Or (Artikel1 Like Artikel3) Then MsgBox ("Nummer gefunden") Else MsgBox ("Nummer nicht gefunden") End If End With End Sub
     
    ____________________
    viele Grüße aus Freigericht
    Karl-Heinz

    Anzeige
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 10:39:48
    Strings,
    Hallo Volti,
    danke für die Rückmeldung! Der gesuchte String kann sich an beliebiger Stelle im Suchbereich befinden; die vorgeschlagene Lösung kann da leider nicht helfen.
    Was meinst du mit regulären Ausdrücken?
    Gruß tab1of
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 11:01:40
    Strings,
    Hallo,
    mit regulären Ausdrücken können umfangreiche Suchen durchgeführt werden.
    Allerdings kenne ich mich damit nicht aus, ggf. Beitrag wieder offen stellen.
    viele Grüße
    Karl-Heinz
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 11:27:49
    Strings,
    Was genau willst du erreichen?
    Welches ist der lange String und welches ist der Kurze, der enthalten sein muss?
    Bei Luke steht der lange String links, der kurze mit den Jokern rechts.
    Beispiel
    "Grüß Gott Herr Mayer." like "*Ma?er*" ergibt WAHR
    Gruß Daniel
    Anzeige
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 11:44:59
    Strings,
    Hallo Daniel,
    was will ich erreichen? Der String aus Zelle A1 soll in Zelle A2 (bzw. A4) gefunden werden. Wenn ich String und Suchbereich bei Like vertausche, dann erreiche ich auch nicht das, was ich möchte.
    Aber dein Beispiel zeigt in eine andere Richtung: Vielleicht geht es, wenn ich die Variable (die den String enthält) in * setze? Wie mache ich das dann korrekt?
    Code jetzt:
    If Artikel1 Like Artikel2 Then
    
    …
    Code stattdessen:
    If Artikel1 Like "*" & Artikel2 & "*" Then
    
    …?
    Habe das gerade probiert. Funktioniert auch nicht.
    Gruß tab1of
    Anzeige
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 14:02:51
    Strings,
    was steht in Artikel1 und was steht in Artikel2
    Gruß Daniel
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 14:38:24
    Strings,
    Hallo Daniel,
    beispielhaft das, was ich in meinem ersten Posting als Datei verlinkt habe. Das ist aber heute dies und morgen etwas völlig anderes, daher arbeite ich bei dem Vergleich ja auch mit Variablen.
    Gruß tab1of
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 16:12:07
    Strings,
    Nenne bitte die konkreten Textbeispiele.
    Vielleicht mache ich ja Fehler bei der Interpretation deiner Beschreibung und beim Zusammnensuchen der Werte?
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 14:29:50
    Strings,
    Moin
    MsgBox Cells(1, 1) Like Replace(Left$(Cells(4, 1), Len(Cells(1, 1))), "?", "*")
    

    Gruß Gerd
    Anzeige
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 15:38:40
    Strings,
    Hallo Gerd,
    vielen Dank - das löst einen Teil des Problems. Nun kann der zu findende String im Suchbereich aber auch woanders als gleich an erster Stelle stehen - siehe Beispiel in Zelle A4 in der verlinkten Datei: https://www.herber.de/bbs/user/140548.xlsx . Da funktioniert der Code dann auch nicht mehr :-( - oder kannst du da auch was für zaubern?
    Danke und LG, tab1of
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 16:15:28
    Strings,
    Moin,
    dann musst du den Teilstring im Vergleichstring erst suchen.
    Sub Unit()
    Dim P As Integer, bln As Boolean
    For P = 1 To Len(Cells(4, 1)) - Len(Cells(1, 1))
    If Cells(1, 1) Like Replace(Mid$(Cells(4, 1), P, Len(Cells(1, 1))), "?", "*") Then
    bln = True: Exit For
    End If
    Next
    MsgBox bln
    End Sub
    

    Gruß Gerd
    Anzeige
    AW: Vergleichen von Strings, auch mit ?-Wild
    30.09.2020 17:22:55
    Strings,
    Hallo Gerd,
    superduper! Das löst das Problem! Herzlichen Dank für die Hilfe!
    Gruß tab1of

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige