Fontgröße von unregelmäßig vorhandenen CommandButtons ändern
#1
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!
Top
#2
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hallo,

bin faul ... hier mit 6 Commandbuttons ...

Microsoft Excel Objekt Tabelle1
Option 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.


Angehängte Dateien
.xlsm   VBA_Schaltfläche_Schriftgröße.xlsm (Größe: 17,97 KB / Downloads: 3)

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:
  • Wanderfalke
Top
#4
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!
Top
#5
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#6
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
Gruß Atilla
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste