03.02.2020, 13:24 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2020, 13:28 von marose67.)
Hallo,
bin faul ... hier mit 6 Commandbuttons ...
Microsoft Excel Objekt Tabelle1
OptionExplicit
Sub Schalter_formatieren() Dim i AsInteger For i = 1To6 With Worksheets("Tabelle1").Buttons(i).Characters.Font .Size = 22 .Name = "Calibri" .FontStyle = "Standard" .Size = 22 EndWith Next EndSub
Du musst nur den Wert i erhöhen. Gruß Marcus.
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen. Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:1 Nutzer sagt Danke an marose67 für diesen Beitrag 28 • Wanderfalke
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.
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.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
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