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

Grafik als Icon im Menü via VBA

Forumthread: Grafik als Icon im Menü via VBA

Grafik als Icon im Menü via VBA
09.02.2007 14:48:11
Alex
Liebe Excelfreunde!
Habe auf der CD von Hans folgenden Code gefunden, mit dem ich eine Symbolleiste, ein Menü unter Untermenüpunkte erstelle.
Mit FaceID kann ich das entsprechende Icon anbinden. Was ist aber zu tun, um ein eingens Icon (Grafik) dort zu verwenden:

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 '9
End With
End Sub

danke Alex
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Grafik als Icon im Menü via VBA
09.02.2007 15:32:53
Kurt
Hi,
die Bildchen entweder in eine dummy-Leiste kopieren und von da aus in deine
Symbolleiste oder direkt aus einer tabelle in deine Leiste kopieren.
mfg Kurt
AW: Grafik als Icon im Menü via VBA
09.02.2007 15:44:36
alex
Hallo Kurt!
Ich habe folgendes Problem, der Code lässt ein nachträgliches Kopieren der Bilder nicht zu - die Möglichkeit das SchaltflächenIcon im Menü zu übernehmen ist nicht aktiv. Wenn das aktiv wäre, dann müsste es ja mit einem Makro - Bilder aus der Tabelle kopieren - klappen, oder ? -
lg alex
Anzeige
AW: Grafik als Icon im Menü via VBA
09.02.2007 16:52:31
alex
Liebe K.Rola!
Danke vorerst für deine Hilfe. Ich habe leider das Problem, dass ich die Icons in einem Menüpunkt (Text u. Icon) brauche. Wie bekomme ich den Text aus der Tabelle dort rein, bzw. tooltip.text würde es auch tun.
lg alex
Anzeige
AW: Grafik als Icon im Menü via VBA
09.02.2007 16:57:54
alex
Liebe K.Rola!
Danke vorerst für deine Hilfe. Ich habe leider das Problem, dass ich die Icons in einem Menüpunkt (Text u. Icon) brauche. Wie bekomme ich den Text aus der Tabelle dort rein, bzw. tooltip.text würde es auch tun.
lg alex
AW: Grafik als Icon im Menü via VBA
10.02.2007 09:39:50
alex
Liebe K.rola!
Die Frage wäre noch offen - ich ersuche um eine Antwort.
lg Alex
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Grafik als Icon im Menü via VBA


Schritt-für-Schritt-Anleitung

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

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf einen der Objekte im Projekt-Explorer und wähle Einfügen > Modul.

  3. 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
  4. 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.

  1. Erstelle ein neues Tabellenblatt und füge die Grafiken in die Zellen ein.
  2. Ä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.

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