Excel VBA -> Spalten- und Zeilenlängen und Schriftgröße bestimmen

...komplette Frage anzeigen

3 Antworten

Range("A1").ColumnWidth = 50
Range("A1").RowHeight = 25
Range("A1").Font.Size = 24

Klappt es?

Ja, super! Aber: Kann's sein, dass 50 bei der Breite ungleich 50 bei der Höhe ist? Sind's verschiedene Einheiten oder woran liegt's?

0
@dirkkuyt
Kann's sein, dass 50 bei der Breite ungleich 50 bei der Höhe ist

Das ist wohl so.
Abhilfe wüsste ich da auch nicht, außer Rumprobieren.
Stell am besten nochmal eine neue Frage deswegen.
Vieleicht kennt ein Anderer einen Trick.

1
@dirkkuyt

Ja, schau einfach mal unter http://msdn.microsoft.com/de-de/library/office/ff837430(v=office.15).aspx (Ich dachte, du kommst von selbst auf die Idee, die entsprechenden Eigenschaften nachzuschauen, denn dort steht doch ausdrücklich: Eine Einheit der Spaltenbreite entspricht der Breite eines Zeichens im Format Normal.Bei proportionalen Schriftarten wird die Breite der 0 (null) verwendet.

Verwenden Sie die Width -Eigenschaft, um die Breite einer Spalte in Punkt zurückgeben. ) Verwende anstatt ColumnWidth die Width-Eigenschaft...

2
@Michael339

Du bekommst die Pixel angezeigt, wenn du auf die Trennlinien am Zeilenkopf bzw Spaltenkopf klixkst. 30 Height sind 40 Pixel, 5 Width ebenfalls. Kannst das nun auf andere Quadratische Zellen oder sonstige gewünschten Maße umrechnen.
Man muss eben ein bisschen rumspielen, wenn man solche Extra.Wünsche hat!
Wenn mans genauer will, dann eben mal eine Zelle etwas weiter aufziehen:
100 Pixel sind 75 Height und 13,57 width,
200 sind 150 height und 27,86 width,
#500 Pixel sind 375 height und 70,71 width.
Du kannst also den Faktor relativ genau bestimmen und im Makro entsprechend definieren: Rowheight x 4/3 und Columnwidth x 500/70,71 bzw rückwärts rechnen, mach ich jetzt nicht mehr

2

Der wichtigste Trick wurde hier noch nicht verraten: Mit Extras/Makros/Aufzeichnen kann man sich ein Makro generieren lassen. Also: Aufzeichnung starten, eine Zelle wie gewünscht einstellen, stoppen. Im Makro-Editor ist dann ein Modul entstanden mit dem aufgezeichneten Makro, was dann als Beispiel dient.

Gruß, Max.

Was möchtest Du wissen?