Zellengröße in cm?

Moin zusammen,

ich weiss, ein alter Hut - eigentlich.
Diese Makros funktionieren prima, eins für
die Breite und eins für die Höhe:

Sub Zeilenhöhe()
 Dim hoehe As Single
 Dim aktuell As Single
 Dim Text As String
 Dim antwort As String
 aktuell = Selection.RowHeight / 29.5
 Text = "Aktuelle ZeilenHöhe: " & Format(aktuell, "###0.00 cm") & Chr(13) & \_
 "Geben Sie die gewünschte Zeilenhöhe für die aktuelle Zeile oder Markierung in cm ein:"
 antwort = InputBox(Text, "Neue Zeilenhöhe festlegen", Format(aktuell, "###0,00"))
 If antwort "" Then
 hoehe = CSng(antwort)
 Selection.RowHeight = hoehe \* 29.5
 End If
End Sub



Sub Spaltenbreite()
 Dim Width As Single
 Dim aktuell As Single
 Dim Text As String
 Dim antwort As String
 aktuell = (Selection.ColumnWidth + 0.71) / 5.1425
 Text = "Aktuelle Spaltenbreite: " & Format(aktuell, "###0.00 cm") & Chr(13) & \_
 "Geben Sie die gewünschte Spaltenbreite für die aktuelle Spalte oder Markierung in cm ein:"
 antwort = InputBox(Text, "Neue Spaltenbreite festlegen", Format(aktuell, "###0,00"))
 If antwort "" Then
 Width = CSng(antwort)
 Selection.ColumnWidth = -0.71 + 5.1425 \* Width
 End If
End Sub

Ich möchte aber dass er nach Klick auf eine Schaltfläche
die Werte aus dem Zellenpaar rechts von der gerade markierten Zelle
nimmt und auf die markierte Zelle anwendet.

Beispiel: A2 ist markiert, B2 = 20, C2 = 12

Nach Klick auf die Schaltfläche soll A2 = 20 x 12cm groß sein.

Aber wie sag ich’s meinem Kinde - äh - Excel?

Kann jemand helfen?

Gruß und danke schonmal
Rolf

Grüezi Rolf

Ich möchte aber dass er nach Klick auf eine Schaltfläche
die Werte aus dem Zellenpaar rechts von der gerade markierten
Zelle
nimmt und auf die markierte Zelle anwendet.

Beispiel: A2 ist markiert, B2 = 20, C2 = 12

Nach Klick auf die Schaltfläche soll A2 = 20 x 12cm groß sein.

Aber wie sag ich’s meinem Kinde - äh - Excel?

Kombiniere einfach die Zuweisungen aus den beiden Subs mit dem Auslesen aus den Zellen.
Hier werden immer die beiden Zellen rechts der aktiven verwendet - Fehlerabfragen sind (noch) keine enthalten:

Sub Zellengrösse()
Dim sBreite As Single
Dim sHoehe As Single
 With ActiveCell
 sBreite = CSng(.Offset(0, 1).Value)
 sHoehe = CSng(.Offset(0, 2).Value)

 .ColumnWidth = -0.71 + 5.1425 \* sBreite
 .RowHeight = sHoehe \* 29.5
 End With
End Sub

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Rolf

Ich möchte aber dass er nach Klick auf eine Schaltfläche
die Werte aus dem Zellenpaar rechts von der gerade markierten
Zelle
nimmt und auf die markierte Zelle anwendet.

Beispiel: A2 ist markiert, B2 = 20, C2 = 12

Nach Klick auf die Schaltfläche soll A2 = 20 x 12cm groß sein.

Aber wie sag ich’s meinem Kinde - äh - Excel?

Kombiniere einfach die Zuweisungen aus den beiden Subs mit dem
Auslesen aus den Zellen.
Hier werden immer die beiden Zellen rechts der aktiven
verwendet - Fehlerabfragen sind (noch) keine enthalten:

Sub Zellengrösse()
Dim sBreite As Single
Dim sHoehe As Single
With ActiveCell
sBreite = CSng(.Offset(0, 1).Value)
sHoehe = CSng(.Offset(0, 2).Value)

.ColumnWidth = -0.71 + 5.1425 * sBreite
.RowHeight = sHoehe * 29.5
End With
End Sub

Hallo Thomas

ich bin begeistert, genau das habe ich gesucht.
Vielen Dank, das erspart mir ne Menge Klicks.

Gruß
Rolf