ich muss hier ein rechnungsformular anpassen, will mir
ein vba-Subi (das mit dem (pre) ist aber ganz schön nervig!)
schreiben der mir in einer .selection
von jeder zelle innerhalb der .selection zellenhöhe
und -breite anzeigt (bzw. diese beiden werte in die jeweilige zelle
einträgt).
Sub MNU_WORKBOOK_CELLWIDTH()
Dim Se
Dim R As Integer
Set Se = Selection(1)
With Selection
For R = 0 To .Columns.cOUNT - 1
Se.Offset(0, R).Value = Se.Offset(0, R).Width
Next R
End With
End Sub
das oben zeigt bisher nur die zellenbreite an.
das problem ist die umrechnung der werte;
die .width zeigt den wert in 1/72tel zoll (vba-hilfe) an.
beispiel: vba-breite = 66,00
wenn ich dann in excel die zellenformatierung aufrufe,
zeigt diese mir eine zellenbreite von 10,38 an
der umrechnungsfaktor wäre dann ja 1/0,157273
nehme ich jetzt (in vba) 25,5 als zellenbreite, müsste
die zellenbreite (in excel) ja 25,5 * 0,157273 = 4,010455
betragen. tatsächlich beträgt die breite in excel jedoch
3,63.
frage: wieso ?
gruß teo