Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1668to1672
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

Stringvergleich funktioniert nicht

Stringvergleich funktioniert nicht
15.01.2019 09:18:56
Jürgen
Hallo zusammen,
Ich habe folgendes Problem, ich hoffe ihr könnt mir helfen.
Ich lese 2 Strings ein und will diese miteinander vergleichen.
Die Strings sind laut Lokal-Fenster absolut ident und haben auch den selben Datentyp (String). Trotzdem wird die If Bedingung nicht erfüllt.
Wenn man die beiden Strings mit StrComp vergleicht, so wird ausgegeben, dass diese sich unterscheiden. Dies tun sie aber nicht? Woran kann dies liegen?
Habe die üblichen Dinge wir Leerzeichen Trimmen usw. versucht, daran liegt es nicht.
Anbei der Code, ich hoffe ihr könnt mir helfen!
lg, Jürgen
Sub Makro9()
Dim ArtikelFinden As String
Dim ArtikelSuchen As String
ArtikelSuchen = Worksheets("Bestand").Cells(4, 1)          'String: "0224000"
ArtikelFinden = Worksheets("Import Ldbg").Cells(3, 2)      'String: "0224000"
Vergleich1 = StrComp(ArtikelSuchen, ArtikelFinden, 0)      'Ergebnis: 1
Vergleich2 = StrComp(ArtikelSuchen, ArtikelFinden, 1)      'Ergebnis: -1
If ArtikelSuchen = ArtikelFinden Then                      'Bedingung wird nicht erfüllt?
Ausgabe = MsgBox("Artikel gefunden!", vbOKOnly)
End If
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das Ergebnis …
15.01.2019 09:32:57
RPP63
… von StrComp() muss 0 sein, wenn die Texte tatsächlich gleich sind!
Da bei Dir etwas anderes heraus kommt, sind sie eben nicht gleich.
Du solltest mal die Datei mit lediglich den beiden Zellen hochladen.
Dann kann man sich das näher anschauen.
Gruß Ralf
AW: Das Ergebnis …
15.01.2019 09:41:41
Luschi
Hallo Jürgen,
wenn in der 1. Zelle der Wert so eingegeben wurde: '0224000
und in der 2. Zelle 224000 und diese Zelle benutzerdefiniert formatiert wurde: 0000000
dann sehen die beiden Werte zwar gleich aus, sind aber inhaltlich nicht das selbe.
Gruß von Luschi
aus klein-Paris
AW: Stringvergleich funktioniert nicht
15.01.2019 09:43:35
Daniel
Hi
dazu müsste man jetzt wissen, was wirklich in den Zellen steht, dh du solltest mal die Datei hochladen.
oder du lässt mal dieses Makro zum Texten laufen.
Dieser Code zeigt dir im Direktfenster nebeneinander die ASCII-Codes der Zeichen der beiden Variablen.
Wenn die Zahlenwerte an irgendeiner Stelle nicht gleich sind, hast du deine Abweichung gefunden.
Sub Makro9()
Dim ArtikelFinden As String
Dim ArtikelSuchen As String
Dim i As Long
Dim L As Long
ArtikelSuchen = Worksheets("Bestand").Cells(4, 1)          'String: "0224000"
ArtikelFinden = Worksheets("Import Ldbg").Cells(3, 2)      'String: "0224000"
If Len(ArtikelFinden)  Len(ArtikelSuchen) Then
MsgBox "Unterschiedlich lang!"
Else
For i = 1 To Len(ArtikelSuchen)
Debug.Print "pos" & i & ":", AscW(Mid(ArtikelFinden, i, 1)), AscW(Mid(ArtikelSuchen, i, 1))
Next
End If
End Sub
Gruß Daniel
Anzeige
AW: Stringvergleich funktioniert nicht
15.01.2019 09:59:02
Jürgen
Hallo Ralf,
Hallo Daniel,
Vielen Dank für eure Rückmeldungen!
Ich finde den Fehler aber immer noch nicht, ich denke ich stehe auf dem Schlauch.
Anbei die Datei.
https://www.herber.de/bbs/user/126766.xlsm
Ev. seht ihr den Grund.
lg, Jürgen
AW: Stringvergleich funktioniert nicht
15.01.2019 10:13:36
RPP63
In Bestand steht tatsächlich die Textzahl 0224000
In Import beginnt die "Zahl" mit dem Zeichen 31, am Ende stehen neun Leerzeichen Zeichen(32)
Da ist nix gleich! ;)
AW: Stringvergleich funktioniert nicht
15.01.2019 10:16:47
RPP63
Ach so:
Die unerwünschten Zeichen bekommst Du so weg:
=GLÄTTEN(SÄUBERN(dieZelle))
Anzeige
AW: Stringvergleich funktioniert nicht
15.01.2019 10:30:27
Jürgen
Hallo RPP63,
Ja, jetzt funktioniert es - vielen Dank!
Das GLÄTTEN war nicht der Grund, ich hatte den String zuvor auch schon mit LTRIM und RTRIM bearbeitet.
Das SÄUBERN hast den Ausschlag gegeben :-)
Vielen Dank!!
Gruß, Jürgen
P.S. Ich brauche das Herber Forum nicht oft, aber wenn, dann habe ich noch jedes mal innerhalb von wenigen Stunden eine Hilfe bekommen. Tolles Forum, ganz großes Kompliment an alle Beteiligten!!!
AW: Stringvergleich funktioniert nicht
15.01.2019 10:23:32
UweD
Hallo
so?
 ArtikelFinden = WorksheetFunction.Clean(Trim(ArtikelFinden))
LG UweD
AW: Stringvergleich funktioniert nicht
15.01.2019 10:57:38
Jürgen
Hallo Uwe,
Ja, funktioniert. Ziemlich elegant gelöst, vielen Dank!
lg, Jürgen
Anzeige
AW: Stringvergleich funktioniert nicht
15.01.2019 11:57:19
Luschi
Hallo Jürgen,
trotzdem ist des Besser, den vorhandenen Datenbestand zu säubern, als dann mit Zusatzfunktionalitäten erst in der Auswertung anzufangen, mit 'Hängen & Würgen' die Ausgangsdaten umzubiegen, denn damit wird ja nicht das Problem beseitigt, sondern nur vertagt.
Gruß von Luschi
aus klein-Paris
Sehe ich genauso, Luschi!
15.01.2019 12:38:25
RPP63
Schließlich heißt das eine Blatt ja wohl nicht von ungefähr Import …
Genau da muss man ansetzen: "sauberer" Import (mittels PowerQuery?)

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige