Hallo zusammen,
in meinem Arbeitsblatt habe ich bspw. in Spalte D und E eine Anzahl unregelmäßig verteilter CommandButtons.
Per VBA/Makro möchte ich diesen CommandButtons eine neue Fontgröße (bspw. 11) zuweisen.
Ich bin ein wenig ratlos, wie dass umzusetzen wäre. Kann mich hierbei jemand unterstützen?
Danke und vG!
Hallo,
wie oft kommt es denn vor, dass du die Schriftgröße ändern willst? Kann mir wirklich nicht vorstellen, dass man dafür ein Makro braucht.
Hallo,
bin faul ... hier mit 6 Commandbuttons ...
Microsoft Excel Objekt Tabelle1Option Explicit
Sub Schalter_formatieren()
Dim i As Integer
For i = 1 To 6
With Worksheets("Tabelle1").Buttons(i).Characters.Font
.Size = 22
.Name = "Calibri"
.FontStyle = "Standard"
.Size = 22
End With
Next
End Sub
Du musst nur den Wert i erhöhen.
Gruß
Marcus.
Hallo,
danke für die Rückmeldungen.
Ich habe den Code mal eingebaut und bin auf folgenden Punkt gestoßen:
Vermutlich wirken sich die Änderungen nur auf Schaltflächen (Formulasteuerelemente) aus, nicht auf Befehlsschaltflächen (ActiveX-Steuerelemente).
Eine Anpassung an 'Commandbutton' schlägt mit der Fehlermeldung "Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht.' Bsp.:
With
Worksheets("Tabelle1").CommandButton(1).font.Size = 12
End With
Hintergrund meiner Frage ist, dass bei Veränderung der Zeilenhöhe die Beschriftung der Befelsschaltflächen (CommandButtons), welche in der Zelle positioniert ist, verzerrt wird. Und das, obwohl ich unter 'Formatierung \ Eigenschaften' die 'Objektpositionierung' auf 'Von Zellposition und -größe abhängig' ausgewählt habe.
Mein Ziel ist es, bei Änderung der Zeilenhöhe (bzw. auch der Spaltenbreite) einen 'Refresh' über alle CommandButtons-Captions laufen zu lassen, so dass deren Beschriftungen wieder den ursprünglichen Parametern (bspw. Size = 12) entspricht.
Muss hier u.U. anders angesetzt werden?
Danke und vG!
Hallo,
hier mal ein ganz anderer Ansatz, da es sich offenbar um mehrere Schaltflächen handelt, könntest du ja mal über die Verwendung von
UserForms nachdenken.
Hallo,
teste mal:
Code:
Sub Button_Schriftgroesse_aendern()
Dim objOLE As OLEObject
For Each objOLE In ActiveSheet.OLEObjects
If TypeOf objOLE.Object Is Msforms.CommandButton Then
With objOLE.Object.Font
.Size = 11
.Name = "Arial"
End With
End If
Next
End Sub