Falsches Ergebnis Dezimalzahl
#1
Hallo zusammen,

bei folgendem Makro liefert die Variable a den Wert 2,11

Das Ergebnis müsste aber 1,07 sein.

Sub Makro()

Dim LetzteZeileFixkostenobjekte  As Byte
Dim a As Double

LetzteZeileFixkostenobjekte = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row

' Meine Eingabe ist 29,99 €
Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 2).Value = Application.InputBox(prompt:="Wie lautet der Preis?", Type:=1)
Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 2).NumberFormat = "#,##0.00 €"

' Meine Eingabe ist 01.02.2018
Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 3).Value = Application.InputBox(prompt:="Was ist das Startdatum?", Type:=1)
Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 3).NumberFormat = "dd.mm.yyyy"

' Meine Eingabe ist 28.02.2018
Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 4).Value = Application.InputBox(prompt:="Was ist das Enddatum?", Type:=1)
Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 4).NumberFormat = "dd.mm.yyyy"

a = Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 2).Value / (Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 4).Value - Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 3).Value) + 1
a = Application.WorksheetFunction.RoundDown(a, 2)
MsgBox a

End Sub 


Vielen Dank
Top
#2
Hallo,

nach einem flüchtigen Blick sieht es so aus, dass du die Variable a für verschiedene Inhalte verwendest, das geht gar nicht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hallo,

die Klammer steht an der falschen Stelle:
a = Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 2).Value / (Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 4).Value - Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 3).Value) + 1
a = Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 2).Value / (Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 4).Value - Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 3).Value + 1)
Gruß Uwe
Top
#4
Kuwer schrieb:Hallo,

die Klammer steht an der falschen Stelle:
a = Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 2).Value / (Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 4).Value - Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 3).Value) + 1
a = Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 2).Value / (Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 4).Value - Tabelle1.Cells(LetzteZeileFixkostenobjekte + 1, 3).Value + 1)
Gruß Uwe

Liefert immer noch 2,11 :22:
Top
#5
(07.02.2018, 12:57)excl50 schrieb: Liefert immer noch 2,11 :22:

mit Sicherheit nicht mit meiner 2. Codezeile mit grüner Klammer am Ende.

Gruß Uwe
Top
#6
Kuwer schrieb:mit Sicherheit nicht mit meiner 2. Codezeile mit grüner Klammer am Ende.

Gruß Uwe

Habe es nochmal probiert, habe anscheinend vergessen abzuspeichern, jetzt klappt es wie gewollt. Danke
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste