in einem makro werden werte von spaltenbreiten in cm z.b. 1,10 aus einem dialog ausgelesen und festgelegt. anschließend läuft ein makro und bildet die summe über die spalten. dabei kommt es zu rundungsfehler in der 2. nachkommastelle ab der 5.spalte.
Code: Alles auswählen
'--Makro, das Gesamtbreite der Spalten A bis K ermittelt
Sub GesamtBreiteErmitteln
Dim iGesamtbreite as double
calcDoc = ThisComponent
oAktivesBlatt = calcDoc.CurrentController.activeSheet
'--F/N-Schleife für die Spalten A bis K
For I = 0 to 10
'ermittelt die Gesamthöhe der jeweiligen Zeilen und zeigt diese im Dialog an
iGesamtbreite = iGesamtbreite + oAktivesBlatt.Columns(I).width/1000
oDlg.getControl("numGesamtbreite").value = iGesamtbreite
next
End Sub
Code: Alles auswählen
Sub testSpBreite
Dim oDlg as Object
Dim calcDoc as Object
Dim oAktivesBlatt as Object
Dim i as integer
Dim h as double
calcDoc = ThisComponent
oAktivesBlatt = calcDoc.CurrentController.activeSheet
for i = 0 to 10
h = h+oAktivesBlatt.Columns(i).width/1000
msgbox("Zeile: "+i+Chr(13)+"Höhe: "+h,1, "Test")
next
End Sub
kann ich die variablendeklaration mit double/single so beeinflussen, dass diese nur 2. nachkommastellen erfasst oder kann ich das problem bei den nummernfeldern des dialogs lösen.
freue mich auf eine antwort
grüße klaus