Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Button Größte verändert sich immer

Forumthread: VBA: Button Größte verändert sich immer

VBA: Button Größte verändert sich immer
22.11.2020 11:56:55
SüßerApfel
Mahlzeit zusammen =D
kennt jemand das Problem das sich die Größe von Buttons ab und an einfach verändert ohne das man selber eingreift? Ich habe mir ein paar Buttons gebastelt die aus 3 - 4 Ebenen (Gruppierung) bestehen. Die Elemente sind von der Größe und Position der Zellen unabhängen und das Seitenverhältnis ist gesperrt das heißt wenn man eine verändert muss sich die andere mit ändern. Leider ist das nicht der Fall die Größe der einzelnen Elemente ändert sich manchmal einfach und auch die Position. Das heißt ein Textelement von einem anderen Element einfach überlappt wird.
Weißt jemand warum das so ist? Wenn adas ein Excelproblem ist wie kann ich das verhindern?
Grüße
SüßerApfel
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Button Größte verändert sich immer
22.11.2020 12:04:23
Hajo_Zi
benutze Formular Elemente.

AW: VBA: Button Größte verändert sich immer
22.11.2020 12:36:59
SüßerApfel
Danke Hajo, aber ich wollte wissen woran das liegen könnte? Ich will ungern die hässlichen Formular Buttons verwenden. Oder räts du mir zu den Formular Elementen, weil selbst gebaute Buttons sich immer ungewollt verändern und man dagegen nichts machen kann?
Grüße
süßerApfel
Anzeige
AW: VBA: Button Größte verändert sich immer
22.11.2020 13:48:15
Oberschlumpf
Hi ?
zeig doch mal per Upload eine Excel-Bsp-Datei, in der dein Problem erkennbar ist.
Ciao
Thorsten
Optisches Beispiel
22.11.2020 13:57:56
SüßerApfel
Hallo Thorsten,
das wäre ein Beispiel. Ich habe mehrere Buttons aber hier sieht man es am deutlichsten. Die Oberfläche ist in der original Datei gesperrt, sodass keiner meiner Kollegen die Buttons versehentlich verschieben kann. Die echte Datei kann ich wegen den Daten nicht hochladen. Zudem tritt die Veränderung nicht immer auf. Ich habe schon mal die Buttons angepasst und wenn ich dann nach Zeiten mir die Dateien anschaue sind die Buttons wieder optisch verändert.
https://www.herber.de/bbs/user/141764.xlsx
Anzeige
AW: Optisches Beispiel
22.11.2020 14:08:32
volti
Hallo,
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 😊
Karl-Heinz

Anzeige
AW: Optisches Beispiel
22.11.2020 14:25:13
volti
Hallo,
meine Ausführungen von eben bezogen sich auf Active-X-Elemente wie Commandbutton, Checkboxen usw.
Diese hast Du ja gar nicht in der hier gezeigten Mappe. Dann ist es möglicherweise ein anderer Grund.
VG KH
AW: Optisches Beispiel
22.11.2020 14:29:45
SüßerApfel
Hallo Heinz,
das stimmt in diesem Beitrag geht es um Buttons die ich aus Formen gebastelt habe. Aber ich habe auch einen Beitrag bei dem mir dein Vorschlag sicher helfen wird. Daher vielen Dank ich probier deine Lösung an meinen OptionButtons aus.
Grüße
SüßerApfel
Anzeige
;
Anzeige

Infobox / Tutorial

VBA: Größe von Buttons in Excel stabilisieren


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der das Problem mit den Buttons auftritt.

  2. Navigiere zu den Entwicklertools. Falls du diese nicht siehst, aktiviere sie über die Excel-Optionen.

  3. Füge einen Button hinzu oder wähle einen bestehenden Button aus.

  4. Rechtsklicke auf den Button und wähle „Eigenschaften“.

  5. Setze das Seitenverhältnis der Buttons, indem du die LockAspectRatio-Eigenschaft auf True stellst.

  6. Nutze VBA-Code, um die Größe der Buttons zu fixieren. Füge den folgenden Code in das entsprechende Modul ein:

    Private Sub Worksheet_Activate()
       With ActiveSheet
           With .CommandButton1
               .Top = 100
               .Left = 100
               .Width = 100
               .Height = 50
           End With
       End With
    End Sub
  7. Teste die Buttons, indem du zwischen verschiedenen Bildschirmauflösungen wechselst, um zu sehen, ob die Größenanpassung weiterhin auftritt.


Häufige Fehler und Lösungen

  • Problem: Die Buttons ändern ihre Größe nach einem Wechsel der Bildschirmauflösung.
    Lösung: Stelle sicher, dass du die Größe in VBA festlegst, wie im obigen Beispiel gezeigt.

  • Problem: Überlappende Elemente.
    Lösung: Überprüfe die Top und Left Eigenschaften der Buttons, um sicherzustellen, dass sie korrekt positioniert sind und nicht überlappen.


Alternative Methoden

  • Formularelemente verwenden: Wenn das Problem weiterhin besteht, ziehe in Erwägung, auf die Verwendung von Formular-Buttons umzusteigen, die stabiler in ihrer Handhabung sind.
  • Active-X-Elemente: Für erweiterte Funktionen kannst du Active-X-Buttons verwenden, beachte jedoch, dass diese ebenfalls von Bildschirmauflösungen betroffen sein können.

Praktische Beispiele

Hier ist ein Beispiel, wie du mehrere Buttons in einer Excel-Anwendung stabilisieren kannst:

  1. Erstelle mehrere Buttons aus Formen.
  2. Füge den VBA-Code für jedes Button-Objekt hinzu, um ihre Position und Größe zu bestimmen.
Private Sub Worksheet_Activate()
    With ActiveSheet
        .Shapes("Button1").Top = 50
        .Shapes("Button1").Left = 50
        .Shapes("Button1").Width = 80
        .Shapes("Button1").Height = 30

        .Shapes("Button2").Top = 100
        .Shapes("Button2").Left = 50
        .Shapes("Button2").Width = 80
        .Shapes("Button2").Height = 30
    End With
End Sub

Tipps für Profis

  • Regelmäßige Anpassungen: Überprüfe und passe die Button-Größen regelmäßig an, besonders nach Änderungen der Bildschirmauflösung.
  • Verwendung von Gruppen: Gruppiere Buttons, um ihre relative Position zueinander zu sichern. Dies kann helfen, das Überlappen zu vermeiden.
  • Sichere die Datei: Speichere regelmäßig Sicherungskopien deiner Excel-Datei, um Änderungen bei Problemen schnell zurückzusetzen.

FAQ: Häufige Fragen

1. Warum verändern sich die Buttons in Excel?
Die Größe und Position von Buttons kann sich ändern, insbesondere bei Wechsel der Bildschirmauflösung oder wenn die Datei auf einem anderen Monitor geöffnet wird.

2. Wie kann ich die Größe der Buttons fixieren?
Du kannst die Größe und Position der Buttons über VBA-Code festlegen, der beim Aktivieren des Arbeitsblatts ausgeführt wird.

3. Was sind die Alternativen zu Active-X-Buttons?
Formular-Buttons sind eine gute Alternative, da sie weniger anfällig für Größenänderungen sind und einfacher zu handhaben.

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