Grafik als Icon im Menü via VBA
Schritt-für-Schritt-Anleitung
-
VBA-Editor öffnen: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Neues Modul erstellen: Klicke mit der rechten Maustaste auf einen der Objekte im Projekt-Explorer und wähle Einfügen
> Modul
.
-
Code einfügen: Füge den folgenden Code in das neue Modul ein:
Sub MenüErstellung()
Dim cb As CommandBar, cbb As CommandBarControl
On Error Resume Next
CommandBars("Lagebild").Delete
On Error GoTo 0
' Commandbar erstellen
Set cb = CommandBars.Add("Lagebild")
' Menü erzeugen
Set cbb = cb.Controls.Add(msoControlPopup)
With cbb
.Caption = "taktische Zeichen für Lagebild"
.Tag = "Pop1"
.BeginGroup = True
End With
' Menüzeilen erstellen
With CommandBars.FindControl(Tag:="Pop1")
' erste Menüzeile erzeugen
Set cbb = .Controls.Add(Before:=1, Type:=msoControlButton)
With cbb
.Caption = Sheets("Tabelle2").Range("a1")
.OnAction = "Rettung"
.FaceId = 444
.BeginGroup = True
End With
' zweite Menüzeile erzeugen
Set cbb = .Controls.Add(Before:=2, Type:=msoControlButton)
With cbb
.Caption = Sheets("Tabelle2").Range("a2")
.OnAction = "Test1"
.FaceId = 445
End With
.Visible = True
.Position = msoBarTop
.Protection = 0
End With
End Sub
-
Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools
> Makros
aus.
Häufige Fehler und Lösungen
- Fehler: Icons werden nicht angezeigt: Stelle sicher, dass die
FaceId
-Nummern korrekt sind. Du kannst alternative FaceIds
ausprobieren, um zu sehen, ob sie funktionieren.
- Fehler: Menü wird nicht angezeigt: Überprüfe, ob das Menü bereits existiert und ob es korrekt benannt wurde. Nutze
CommandBars("Lagebild").Delete
, um bestehende Menüs zu entfernen.
Alternative Methoden
Eine alternative Methode ist, die Icons direkt aus einer Tabelle in deine Menüleiste zu kopieren. Hierzu kannst du ein Dummy-Icon verwenden und es dann in das Zielmenü ziehen. Dies wird oft als schneller angesehen, erfordert jedoch eine manuelle Anpassung.
Praktische Beispiele
Hier ist ein Beispiel, das zeigt, wie man ein Menü mit benutzerdefinierten Icons erstellt. Du kannst die FaceId
-Nummern durch eigene Icons ersetzen, die du zuvor in der Excel-Datei gespeichert hast.
- Erstelle ein neues Tabellenblatt und füge die Grafiken in die Zellen ein.
- Ändere den Code, um die Grafiken aus den Zellen zu verwenden, indem du sie in die Menü-Icons kopierst.
Tipps für Profis
- Verwendung von
tooltip.text
: Um zusätzliche Erklärungen für deine Menü-Icons bereitzustellen, kannst du cbb.TooltipText
verwenden, um eine kurze Beschreibung anzuzeigen.
- Benutzerdefinierte Icons: Du kannst eigene Grafiken als Icons verwenden, indem du sie vorher in Excel importierst und dann über den VBA-Code darauf zugreifst.
FAQ: Häufige Fragen
1. Kann ich meine eigenen Grafiken als Icons verwenden?
Ja, du kannst eigene Grafiken verwenden, indem du sie in eine Symbolleiste oder ein Menü einfügst.
2. Wie kann ich die Icons ändern, nachdem ich das Menü erstellt habe?
Du kannst die FaceId
-Werte im VBA-Code ändern und das Makro erneut ausführen, um die Änderungen zu übernehmen.
3. Was mache ich, wenn meine Icons nicht angezeigt werden?
Überprüfe die FaceId
-Nummern und stelle sicher, dass sie korrekt sind. Wenn das Problem weiterhin besteht, versuche, die Menüleiste zu löschen und neu zu erstellen.