Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Dezimalzahlen in Tabellenzellen (VBA)

Problem mit Dezimalzahlen in Tabellenzellen (VBA)
17.07.2008 01:18:26
Ulf
Hallo,
Angenommen der Wert in b3 sei 38,785
Diesen Wert lese ich in eine Variable (double)
r = Tabelle1.Range("B3").Formula
Anschließend wird eine Variable (auch double) hinzuaddiert und in einer anderen Zelle ausgegeben
Tabelle1.Range("B4").Formula = r + Mindestzeit
Das ganze funktioniert nicht wie erwartet. Wenn Mindestzeit auf 2,00 festgelegt ist ist mein Ergebnis in der Ausgabezelle 38787 (also 38,785 + 2,00). Beim Auslesen wird nicht berücksichtigt, dass es sich um eine reelle Zahl handelt und der Wert als Integer interpretiert - Das Komma wird Quasi überlesen.
Was mache ich falsch?
Danke und Gruß Backflip

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Dezimalzahlen in Tabellenzellen (VBA)
17.07.2008 01:31:00
Tino
Hallo,
veruch mal anstatt,
2,00
2.00 oder nur 2 einzugeben.
Gruß Tino

AW: .Formula oder .Value
17.07.2008 06:49:00
Erich
Hallo Ulf,
schreib doch mal eine Zeile unter
r = Tabelle1.Range("B3").Formula
die Zeile
MsgBox r
Dann siehst du, dass in der Double-Variablen r die Zahl 38785 steht. Dazu 2 addiert, ergibt 38787.
Oder teste mal dies hier:

Sub tst1()
Dim r1 As Double, r2 As Double
Dim s1 As String, s2 As String
r1 = Tabelle1.Range("B3").Formula
MsgBox "r1: " & r1
r2 = Tabelle1.Range("B3").Value
MsgBox "r2: " & r2
s1 = Tabelle1.Range("B3").Formula
MsgBox "s1: " & s1
s2 = Tabelle1.Range("B3").Value
MsgBox "s2: " & s2
End Sub

Wenn in B3 eine Formel (z. B. =10+28,785 ) steht, bekommst du einen Fehler.
Was du tatsächlich von B3 verwenden willst, ist doch gar nicht die Formel, sondern der Wert in der Zelle.
Wenn du einen WERT aus einer Zelle haben willst, dann mit
Tabelle1.Range("B3").Value
oder
Tabelle1.Range("B3") ' (Value ist die Standardeigenschaft, kann entfallen)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige