Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten 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
Antworten 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:
Antworten Top
#5
(07.02.2018, 11:57)excl50 schrieb: Liefert immer noch 2,11 :22:

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

Gruß Uwe
Antworten 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
Antworten Top


Gehe zu:


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