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

Symbolleiste mit ExcelVBA erstellen

Forumthread: Symbolleiste mit ExcelVBA erstellen

Symbolleiste mit ExcelVBA erstellen
16.04.2021 18:36:31
Stefan
Hallo zusammen. Ich habe zwar schon etwas im www zu dem Thema gefunden, jedoch hilft es mir nicht so richtig. Teilweise funktioniert etliches auch nicht.
Ausgangssituation:
Ich habe eine Excel-Makrodatei in dem u.a Daten erfasst werden, Berechnungen angestoßen oder einfach gesagt diverse Makros aufgerufen werden können.
Diesen Aufruf wollte ich komfortabler über eine eigene Symbolleiste gestalten anstelle von Buttons auf den Arbeitsblättern oder mit Aufruf des Makro über ALT+F8.
Nun soll nach Möglichkeit nur für diese Datei eine neue eigene Symbolleiste (nicht unter Add-Ins) angelegt , Einträge erzeugt, Makros verknüpft und ausgewählt werden. Damit kann der Anwender über diese Symbolleiste seine nächsten Schritte dann starten. Wird die Makrodatei geschlossen, soll diese Symbolleiste wieder verschwinden, so dass der Anwender beim öffnen einer "Normalen" Exceldatei nicht diese Symbolleiste sieht.
Meine bisherigen Versuche als VBA-"Anfänger" sind gescheitert. Ist denn so etwas in der Form überhaupt möglich? Oder wie würde die einzige machbare Lösung aussehen?
Hat jemand hier Erfahrung und kann mir weiterhelfen?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Symbolleiste mit ExcelVBA erstellen
16.04.2021 18:43:43
Hajo_Zi
benutze eine Symbolleiste vor 2007
http://hajo-excel.de/gepackt/vba/symbolleiste.zip
oder fdüpr Deine Version
href="http://www.rholtz-office.de/ribbonx/start
GrußformelHomepage
Anzeige
AW: Symbolleiste mit ExcelVBA erstellen
19.04.2021 18:15:29
Stefan
Hallo Hajo_Zi, vielen Dank für die beiden Links. Ich schaue es mir mal im Detail an. Vielen Dank zunächst. VG
AW: Symbolleiste mit ExcelVBA erstellen
19.04.2021 18:17:40
Stefan
Hallo onur, auch Dir vielen Dank für den Link. Ich schaue es mir ebenfalls mal im Detail an. Wobei die Lösung über Ribbons sicherlich die schönste und beste variante wäre, allerdings vermutlich auf die Aufwändigste und komplexeste. Bevor ich auf userFormen schwenke schaue ich mir nochmal die Variante mit Symbolleisten an. Vielen Dank zunächst. VG
Anzeige
Warum noch offen?
19.04.2021 20:06:21
Yal
Der Ball ist jetzt eindeutig seitens der Fragende. Also Flagge runter.
Sonst kommen alle süchtige Helfer vom Alarm-Zeichen angelockt! (ich inklusiv)
VG
Yal
AW: Warum noch offen?
20.04.2021 09:23:22
Stefan
Moin Yal, alles klar. Danke für den Hinweis. VG
AW: Symbolleiste mit ExcelVBA erstellen
16.04.2021 19:11:53
Nepumuk
Hallo Stefan,
entweder legst du manuell ein eigenes Ribbon an. Datei - Optionen - Menüband anpassen.
Oder du machst das professionell per XML-Code. Arbeite dich dafür hier ein: RibbonX-Workshop
Gruß
Nepumuk
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Symbolleiste in Excel mit VBA erstellen


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Makrodatei.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsm)" > Einfügen > Modul.

  4. Füge den folgenden VBA-Code ein, um eine Symbolleiste zu erstellen:

    Sub CreateToolbar()
       Dim myToolbar As CommandBar
       Set myToolbar = CommandBars.Add(Name:="MeineToolbar", Position:=msoBarTop, Temporary:=True)
    
       ' Beispiel für einen Button
       With myToolbar.Controls.Add(Type:=msoControlButton)
           .Caption = "Mein Makro"
           .OnAction = "MeinMakro"
       End With
    
       myToolbar.Visible = True
    End Sub
    
    Sub MeinMakro()
       MsgBox "Makro wurde ausgeführt!"
    End Sub
  5. Führe das Makro CreateToolbar aus, um die Symbolleiste zu erstellen.

  6. Schließe die Datei: Die Symbolleiste wird beim Schließen der Datei automatisch entfernt.


Häufige Fehler und Lösungen

  • Fehler: Symbolleiste wird nicht angezeigt.

    • Lösung: Stelle sicher, dass das Makro korrekt ausgeführt wurde und keine Fehlermeldungen auftraten.
  • Fehler: Symbolleiste bleibt nach Schließen der Datei sichtbar.

    • Lösung: Vergewissere dich, dass die Symbolleiste als temporär erstellt wurde (mit Temporary:=True).

Alternative Methoden

  • Ribbon mit XML erstellen: Eine elegantere Lösung ist die Verwendung von Ribbons, die durch XML definiert werden. Du kannst dich in den RibbonX-Workshop einarbeiten, um ein benutzerdefiniertes Ribbon zu erstellen.

  • Manuelle Anpassung des Menübands: Gehe zu Datei > Optionen > Menüband anpassen, um eigene Registerkarten oder Gruppen hinzuzufügen.


Praktische Beispiele

  1. Erstelle eine Symbolleiste für häufig genutzte Makros.

    • Füge mehrere Buttons für verschiedene Makros hinzu, indem Du den Code im obigen Beispiel anpasst.
  2. Verknüpfe die Symbolleiste mit spezifischen Arbeitsblättern.

    • Verwende Bedingungen, um die Symbolleiste nur in bestimmten Arbeitsblättern anzuzeigen.

Tipps für Profis

  • Verwende Icons für Deine Buttons, um die Benutzeroberfläche ansprechender zu gestalten. Icons können in der Symbolleiste hinzugefügt werden, indem Du die FaceId-Eigenschaft nutzt.

  • Experimentiere mit verschiedenen Positionen der Symbolleiste, um die Benutzerfreundlichkeit zu verbessern.

  • Dokumentiere Deinen Code, damit Du später leichter Änderungen vornehmen kannst.


FAQ: Häufige Fragen

1. Wie kann ich die Symbolleiste in Excel 2007 oder neuer erstellen? Die Vorgehensweise ist ähnlich, jedoch solltest Du die neuen Ribbon-Funktionen verwenden, um eine benutzerdefinierte Ribbon-Oberfläche zu erstellen.

2. Kann ich die Symbolleiste auch für andere Benutzer freigeben? Ja, Du kannst die Makrodatei mit dem darunter liegenden VBA-Code an andere Benutzer weitergeben. Stelle sicher, dass die Makros in ihren Excel-Einstellungen aktiviert sind.

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