Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommandButton formatieren VBA

CommandButton formatieren VBA
19.10.2020 07:49:38
Lisa
Hallo liebe VBAler,
vielleicht könntet ihr mir mal wieder weiterhelfen, das wäre tolle : )
Folgendes ist das Problem:
Beim Öffnen einer Exceldatei öffnet sich zunächst nur das Sheet "Auswahl" auf dem ein CommandButton ist.
Hin und wieder ist die Schriftgröße enorm riesig und verstellt sich von selbst. Sobald man an dem Button herumzieht geht er wieder zurück in seine ursprüngliche Formatierung...
Um das zu vermeiden, wollte ich in den VBA eine feste Formatierung für den Button einbauen.
In das Sheet "Auswahl", auf dem der Button ist, hab ich folgendes eingebaut, aber es funktioniert nicht:
Sub Sheet_Activate()
'Einstellungen für CommandButton:
With CommandButton1
.Font = "Calibri"
.Font.Size = 20
End With
Wo könnte hier mein Fehler liegen?
Viele liebe Grüße,
Lisa
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton formatieren VBA
19.10.2020 08:47:20
volti
Hallo Lisa,
wird auch der ganze Button größer und nicht nur die Schrift?
Das ist ein uraltes Problem bzgl. Active-X-Elementen, das M$ immer noch nicht gelöst hat.
Nach Wechsel der Bildschirmauflösung (Umschalten auf Beamer, von Desktop auf Laptop usw.) kann sich die Darstellung (in der Regel die Größe) mit jedem Klick darauf vergrößern oder auch verkleinern, bis es irgendwann winzig oder so groß wie der Bildschirm ist. Je nachdem, von welcher Auflösung zu welcher Auflösung gewechselt wird.
Ich würde jetzt nicht die Schriftgröße ändern, denn die hat sich nicht verändert (nur in der Darstellung), sondern die Größe der Button wieder anpassen.
Mit dem Resizing der Buttons wird (zumindest bei mir) auch immer die Schriftgröße wieder richtig angezeigt.

Code:
[Cc]
 
Private Sub Worksheet_Activate() 'Formatieren With ActiveSheet With .CommandButton1 .top = 100: .left = 100 .Width = 100: .Height = 50 End With 'usw. End With End Sub
 
____________________
viele Grüße aus Freigericht
Karl-Heinz

Anzeige
AW: CommandButton formatieren VBA
19.10.2020 09:02:43
Lisa
Hallo Karl-Heinz,
brilliant, das Resizing des Buttons hat geholfen, vielen herzlichen Dank für deine Expertise!
Auch für die allgemeine Aufklärung über dieses uralte Problem. :-) Danke!
Liebe Grüße nach Freigericht!
AW: Makro funzt, aber Werte ändern sich nicht
19.10.2020 10:17:08
Lisa
Noch eine Frage zum Abschluss dieses Themas:
Wenn ich das Makro durchlaufen lassen und danach im Eigenschaftsfenster des Buttons die Eigenschaften Top, Left, Width und Height überprüfe, zeigt es hier immer noch die alten Werte an. - Kann das trotzdem stimmig sein oder bsteht hier noch ein Fehler?
Liebe Grüße :)
Anzeige
AW: Makro funzt, aber Werte ändern sich nicht
19.10.2020 10:32:53
volti
Hallo Lisa,
durch das Darstellungsproblem wurden die Werte (top, font, height usw.) ja nicht verändert, sondern lediglich die Darstellung auf dem Bildschirm verändert.
Deshalb hat auch Dein ursprüngliches Makro (an sich ja korrekt) keine Erfolg gebracht.
Mit dem Resizing erzwingst Du lediglich eine Neudarstellung, obwohl sich die Parameter nicht verändert hatten.
viele Grüße
Karl-Heinz
Anzeige
AW: Makro funzt, aber Werte ändern sich nicht
19.10.2020 10:56:39
Lisa
Hallo Karl-Heinz,
alles klar, sehr vielen Dank! :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

CommandButton in Excel formatieren und anpassen


Schritt-für-Schritt-Anleitung

Wenn Du einen CommandButton in Excel formatieren möchtest, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den Editor zu öffnen.
  2. Wähle das entsprechende Sheet:

    • Suche im Projekt-Explorer das Arbeitsblatt, welches den CommandButton enthält.
  3. Füge den folgenden Code ein:

    Private Sub Worksheet_Activate()
       ' Einstellungen für CommandButton
       With ActiveSheet.CommandButton1
           .Font.Name = "Calibri"
           .Font.Size = 20
           .Top = 100
           .Left = 100
           .Width = 100
           .Height = 50
       End With
    End Sub
    • Dieser Code stellt sicher, dass der Button die richtige Schriftart und Größe hat sowie korrekt positioniert ist.
  4. Teste den Code:

    • Wechsle zurück zu Excel und aktiviere das Arbeitsblatt, um die Änderungen zu sehen.

Häufige Fehler und Lösungen

  • Problem: Der CommandButton wird bei der Aktivierung nicht korrekt formatiert.

    • Lösung: Stelle sicher, dass Du den richtigen Namen des CommandButtons verwendest. Es könnte auch an der Bildschirmauflösung liegen, die die Darstellung beeinflusst.
  • Problem: Die Eigenschaften des Buttons (Top, Left, Width, Height) ändern sich nicht.

    • Lösung: Das ist ein bekanntes Problem in Excel, das auf die Darstellung zurückzuführen ist. Nutze das Resizing, um die Darstellung zu aktualisieren, ohne die Werte zu ändern.

Alternative Methoden

  • Excel Schaltfläche formatieren: Eine Alternative zum CommandButton ist die Verwendung von Form-Schaltflächen, die weniger anfällig für Darstellungsprobleme sind.
  • VBA Code für andere Steuerelemente: Du kannst ähnliche Anpassungen auch für andere ActiveX-Steuerelemente oder Formularsteuerelemente vornehmen, um eine konsistente Darstellung sicherzustellen.

Praktische Beispiele

Ein praktisches Beispiel für die Verwendung von CommandButton in einem Excel-Arbeitsblatt könnte so aussehen:

Private Sub Worksheet_Activate()
    With ActiveSheet.CommandButton1
        .Caption = "Klick mich!"
        .BackColor = RGB(255, 255, 0) ' Gelb
    End With
End Sub

In diesem Beispiel wird die Schaltfläche nicht nur formatiert, sondern auch eine Hintergrundfarbe zugewiesen.


Tipps für Profis

  • Verwenden von Konstanten: Nutze Konstanten für Farben und Größen, um Deinen Code flexibler zu gestalten.
  • Fehlerbehandlung einfügen: Überlege, Fehlerbehandlungsroutinen in Deinen VBA-Code einzubauen, um unerwartete Probleme zu vermeiden.
  • Verwendung von Excel Zelle als Button formatieren: Du kannst auch Zellen als Schaltflächen verwenden, indem Du Hyperlinks oder Makros zugewiesene Zellen verwendest.

FAQ: Häufige Fragen

1. Warum verändert sich die Größe des CommandButtons von selbst? Die Größe des CommandButtons kann sich aufgrund von Bildschirmauflösungen ändern. Es ist ein bekanntes Problem mit ActiveX-Elementen in Excel.

2. Funktioniert dieser Code in Excel 365? Ja, der Code sollte in Excel 365 sowie in den meisten anderen Versionen von Excel funktionieren, die VBA unterstützen.

3. Wie kann ich eine Schaltfläche in Excel bearbeiten? Du kannst eine Schaltfläche bearbeiten, indem Du mit der rechten Maustaste darauf klickst und die Eigenschaften im Kontextmenü auswählst. Alternativ kannst Du den VBA-Editor verwenden, um Anpassungen vorzunehmen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige