Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
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-Bedingung erfüllt, dennoch kein then

IF-Bedingung erfüllt, dennoch kein then
Max
Hallo liebes Forum,
ich hab eine doppelte Schleife gebaut, um Werte miteinander zu vergleichen.
In der inneren Schleife gibt es folgenden IF-Abschnitt:
If(Mid(.cells(u, 2), 8) = ID And .cells(u, 7) = Datum)
_Or (Mid(.cells(u, 2), 9) = ID And .cells(u, 7) = Datum) Then
BetragA = .cells(u, 12)
End If
Ich habe mit Debuggen und DebugPrint (eigentlich) sichergestellt, dass mindestens einmal ID und Datum übereinstimmen, so dass BetragA der Wert der Zelle u,12 zugeschrieben werden müsste.
Dies passiert aber nicht. Die Zeile

BetragA = .cells(u, 12)
wird überhaupt nicht aufgerufen.
Hat jemand eine Idee, woran das liegen kann?
Ich kann gerne mehr Code posten, wenn das helfen sollte.
Grüße
Max

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: IF-Bedingung erfüllt, dennoch kein then
Dudzik
Hallo,
in Deinem Code weist Du den BetragA den Wert der Zelle(u,12) zu. Wenn Du den BetragA in die Zelle schreiben möchtest, versuche folgende Anweisung: .cells(u, 12).value = BetragA
Beste Grüße
Matthias

AW: IF-Bedingung erfüllt, dennoch kein then
Max
Hallo Dudzik,
ich habe mich vermutlich missverständlich ausgedrückt, aber Sheldon hat mir nun schon geholfen.
Vielen Dank für deine Mühen

AW: IF-Bedingung erfüllt, dennoch kein then
Sheldon
Hallo Max,
aus dem Code werd ich nicht so recht schlau, was den Fehler angeht. Aber ich tippe mal, dass die Variable ID eine Variable vom Typ Integer, Long oder sonst eine Zahl-Variable ist. Die Funktion Mid liefert aber stets String zurück. Zahl und String sind unterschiedlich, selbst wenn in beiden Typen 4711 gespeichert ist! Versuchs doch mal mit
If(Mid(.cells(u, 2), 8) = CStr(ID) And .cells(u, 7) = CStr(Datum))
_Or (Mid(.cells(u, 2), 9) = CStr(ID) And .cells(u, 7) = CStr(Datum)) Then
Beim Datum könnte das noch immer nicht genügen, denn Excelintern ist ein Datum eine fortlaufende Ziffer. Wenn diese in der Variable Datum gespeichert ist, dann muss sie noch umformatiert werden.
Gruß
Sheldon

Anzeige
AW: IF-Bedingung erfüllt, dennoch kein then
Max
Vielen Dank, Sheldon.
Das hat mir super geholfen:)

AW: IF-Bedingung erfüllt, dennoch kein then
guentherh
Vor allem der Datumsvergleich kann wegen der vielen Formate und Länderspezifischem Verhalten sehr leicht schiefgehen.
Mehr Code und eine debug.print-ausgabe vor der If-Zeile
debug.print "2:" & Mid(.cells(u, 2), 8) &" ID:" & ID & " 7:" & .cells(u, 7) &" Dat:" & Datum
debug.print Mid(.cells(u, 2), 8) = ID &" - " & .cells(u, 7) = Datum) & " / " & _
(Mid(.cells(u, 2), 9) = ID & " - " & .cells(u, 7) = Datum
sollte helfen
Gruß,
Günther

Anzeige
AW: IF-Bedingung erfüllt, dennoch kein then
Max
Hallo Günther,
Vielen Dank für deine Mühen, ich hab es ausprobiert und es klappt:)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige