Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

(Wert>Wert<Wert ) in Zelle anders als in VBA

(Wert>Wert<Wert ) in Zelle anders als in VBA
13.06.2013 11:12:26
Urs
Hallo Zusammen,
Ich stelle fest, dass eine Eingabe der Art
Wert<Wert<Wert
in einer Excel Zelle anders rauskommt als in VBA
Also zum Beispiel: Excel, Eingabe in Zelle
=22<13<4 liefert FALSCH, meiner Meinung nach richtig.
VBA, Eingabe ins Direktfester
? 22<13<4 liefert aber WAHR.
(Dieselbe Aufgabe im Code formuliert führt zum selben Ergebnis)
Wird ev. 22<13 von VBA als Falsch ausgewertet und in der Folge
als 0 verwendet, also 0<4 = WAHR ?
Muss man also eine solche Abfrage in VBA immer mit OR formlieren (22<13 OR 13<4) ?
Blöde Frage am Rande: Ist dies ein grundsätzlicher Effekt beim Programmieren oder ist das in anderen Programiersprachen anders?
Vielen Dank,
Urs

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: (Wert>Wert<Wert ) in Zelle anders als in VBA
13.06.2013 16:36:06
Rolf.dW
Hallo Urs,
ohne InpBox für die Variablen "z...":
Option Explicit
Sub test()
Dim z0 As Integer, z1 As Integer, z2 As Integer, z3 As Integer
z0 = 20
z1 = 2
z2 = 13
z3 = 4
If z1 
Gruß, Rolf

AW: (Wert>Wert<Wert ) in Zelle anders als in VBA
14.06.2013 09:04:18
Urs
Hallo Rolf,
Ich verstehe Deine Antwort nicht. Dass ich in VBA ein UND verwenden muss ist mir schon klar. Verwirrend ist für mich, dass die boolsche Auswertung von 22<13<4 in VBA anders herauskommt als in Excel. Hier nochmals als Code:
Sub VBALogikInUngleichung()
Dim lngZ1 As Long
Dim lngZ2 As Long
Dim lngZ3 As Long
lngZ1 = 22
lngZ2 = 13
lngZ3 = 4
If lngZ1 
Gruss, Urs

Anzeige
AW: (Wert>Wert<Wert ) in Zelle anders als in VBA
14.06.2013 17:06:29
Rolf.dW
Hallo Urs,
meine Antwort auf deine heutige, 09:04 Uhr, scheint irgendwie verschütt gegangen zu sein. Ich gebe auf und stelle deine Frage nochmals auf offen.
Gruß, Rolf

AW: (Wert>Wert<Wert ) in Zelle anders als in VBA
14.06.2013 22:56:31
Gerd
Hallo Rolf,
hilft dir dies weiter?
Sub VBALogikInGleichung()
Dim lngZ1 As Long
Dim lngZ2 As Long
Dim lngZ3 As Long
Dim bln1 As Boolean
Dim bln2 As Boolean
lngZ1 = 22
lngZ2 = 13
lngZ3 = 4
bln1 = (lngZ1 
Gruß Gerd

AW: (Wert>Wert<Wert ) in Zelle anders als in VBA
14.06.2013 22:58:02
Gerd
Sorry, meinte Urs!
Gruß Gerd

Letzter Versuch
15.06.2013 12:18:35
Rolf.dW
Hallo Urs,
deine Folge-Nachrichten beinhalten lauter "Links", warum auch immer.
Irgendwie war es mir nicht möglich, auf diese Nachrichten zu antworten. Deshalb auch hier meine AW als AW zu deinem ursprünglichen Beitrag.
So, wie ich das sehe, rechnet excel anders als VB. Excel berechnet anscheinend das Gesamtpaket deiner Formel "=22<13<4" - m.a.W. excel rechnet insgeheim =UND(22<13;22<4)
Ich vermute, dass VB schrittweise rechnet.
Also: = 22<13 ergibt Wahrheitswert '0' und da '0' kleiner ist als '4', ist im nächsten Schritt (=0<4) das Ergebnis: WAHR.
Daraus folgt: Wenn du in deinem Makro
MsgBox 22<13 And 22<4
eingibst, entspricht das Ergebnis 'FALSCH' dem Ergebnis deiner excel-Formel.
Gruß, Rolf

Anzeige
AW: Letzter Versuch
15.06.2013 12:22:02
Hajo_Zi
Hallo Rolf,
</a>
ich hätte ein Link ende gesetzt, damit der Beitrag wieder ordentlich aussieht.

AW: Letzter Versuch
15.06.2013 12:34:07
Rolf.dW
Hallo Hajo,
"</a>" sagt mir nix.
Aber wenn du dich schon einklinkst: Hast du denn den Thread wenigstens wieder auf Vordermann gebracht?
Gruß, Rolf

348 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige