Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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

Berechnen

Berechnen
10.09.2008 17:06:00
Ludwig
Hallo Experten
In VBA berechne ich Werte und möchte diese in eine eigens geöffnete Tabelle schreiben!
Dazu verwende ich folgenden Code:
Range("A9") = "****Radien****"
Range("A10") = Di / 2
Range("A11") = "1"
Range("A12") = (Dlk - DPb) / 2
Range("A13") = "4"
Range("A14") = (Dlk + DPb) / 2
Debug.Print "Dlk= "; Dlk=835
Debug.Print "DPb= "; DPb=37
Die Variablen sind natürlich deklariert!
Bis Zelle A13 ist noch alles i.O.
Aber in Zelle 14 schreibt er mir den Wert "41768.5" obwohl da "436" stehen müßte!
Alle weiteren Berechnungen sind dann wieder o.k.!
Hat jemand ne Ahnung woran das liegen kann?
Gruß Ludwig

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnen
10.09.2008 17:13:00
Rudi
Hallo,
warum "" um die 1 und die 4? Das sind dann Texte, keine Zahlen.
Dlk=835
DPb=37
Ist das sicher? Blende dir mal das Lokalfenster ein, gehe den Code schrittweise durch (F8) und prüfe die Variableninhalte.
Gruß
Rudi
AW: Berechnen
10.09.2008 17:21:59
Ludwig
Hallo Rudi
Die Texte "1" und "4" sind gewollt!
Wie dir Debug.Print zeigt habe ich die Werte geprüft. In den Variablen stehen die richtigen Wert. Nur der ausgerechnete Wert für Zelle "A14" ist falsch!
Gruß Ludwig
AW: Berechnen
10.09.2008 17:19:09
M.
Hallo,
als was sind deine Variablen Dlk un DPb deklariert? In der Formel werden sie als String interpretiert. Bei Strings bewirkt das "+", dass die beiden Werte nicht wie gewünscht addiert sondern aneinander gehangen werden. Also 83537 ... anschließend wird das ganze korrekt durch 2 geteilt und dadurch kommt das Ergebnis 41768.5 heraus. Entweder du deklarierst die Variablen gleich als Zahlenwert, oder du kannst sie z.B. in einen Integer Wert umwandeln.
Range("A14") = (CInt(Dlk) + CInt(DPb)) / 2
Hoffe das hilft weiter.
Gruß
Rudi
Anzeige
AW: Berechnen
10.09.2008 18:31:00
Ludwig
Hallo Rudi
Ich hatte die Variablen Dlk und DPb als VARIANT und auch mal als Single deklariert!
Ich werde das ganze aber nochmals prüfen!
Danke für den Hinweis!
Gruß Ludwig

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige