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

If Abfrage erkennt gleiche Array Werte nicht

If Abfrage erkennt gleiche Array Werte nicht
10.09.2015 23:30:33
Martin
Hallo,
ich habe ein Problem, was mir Kopfzerbrechen bereitet.
Ich habe zwei Arrays (jeweils zweidimensional). Nun möchte ich für Werte aus dem ersten Array prüfen, ob diese Werte ebenfalls im zweiten Array enthalten sind.
Hierfür durchlaufe ich das zweite Array mit einer For Schleife und Prüfe mit einer IF Abfrage, ob die jeweiligen Werte gleich sind.
Hier taucht allerdings ein Problem auf.
Auch wenn die Werte gleich sind, ist die If Abfrage aus irgendeinem Grund nicht erfüllt. Die Werte sind für VBA also nicht gleich.
Dass die Werte gleich sind, habe ich im Direktfenster überprüft, also beide Werte über debug.print ins Direktfenster geschrieben.
Kennt jemand ein derartiges Problem? Woran könnte sowas liegen?
Hier ist mal der Ausschnitt von meinem Code:

If Arr(z, 8) = "X" Then
Arr(z, 8) = "YES"
For x = 1 To UBound(FreestockArr)
Debug.Print FreestockArr(x, 1)  'Diese beiden Werte sind gleich
Debug.Print Arr(z, 3)           'Diese beiden Werte sind gleich
If Arr(z, 3) = FreestockArr(x, 1) Then   'Hier taucht das Problem auf
Arr(z, 9) = FreestockArr(x, 2)
Arr(z, 10) = FreestockArr(x, 3)
GoTo gefunden
End If
Next
gefunden:
End If 

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If Abfrage erkennt gleiche Array Werte nicht
11.09.2015 06:43:10
Martin
Ich hab übrigens schon versucht die Zahlen zu runden (obwohl es eigentlich Ganzzahlen sind) und Leerzeichen haben sich auch nicht eingeschlichen.

AW: If Abfrage erkennt gleiche Array Werte nicht
11.09.2015 10:01:49
Rudi
Hallo,
schon mit
If CLng(Arr(z, 3)) = CLng(FreestockArr(x, 1)) Then
versucht?
Gruß
Rudi

AW: If Abfrage erkennt gleiche Array Werte nicht
11.09.2015 10:25:28
Daniel
Hi
prüfe auch mal folgendes:
Debug.Print FreestockArr(x, 1), VarType(FreestockArr(x, 1)),
Debug.Print Arr(z, 3), VarType(FreestockArr(x, 1))
damit überprüfst du, ob in einer der Variabeln nicht eine als Text gespeicherte Zahl vorliegt
falls das der Fall sein sollte und hier unterschiedliche Datentypen vorliegen, kannst du den mit einer der C-Funktionen (CStr, CLng, CDbl) umwandeln und angleichen.
ich würde allerdings hier in einen Text wanden (CStr), dann bekommst du keinen Fehler, falls in den Zellen mal ein Text vorkommt, der nicht wandelbar ist.
Mit TRIM kannst du dann auch gleich Leerzeichen abschneiden, welche auch gerne mal nach Datenimporten an den Werten anhängen:
If Trim(CStr(Arr(z, 3))) = Trim(CStr(FreestockArr(x, 1))) Then
Gruß Daniel

Anzeige
AW: If Abfrage erkennt gleiche Array Werte nicht
11.09.2015 16:25:25
Martin
Jawoll! Vielen Dank!
Das war tatsächlich das Problem.
Die eine Spalte in der Tabelle aus der das Array erstellt wird, war als Text formatiert, weshalb auch das eine Array als String und das andere als Long definiert war. Ich habs jetzt entsprechend angepasst und so läufts. THX =)

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige