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

Registerkarte mit VBA erstellen

Forumthread: Registerkarte mit VBA erstellen

Registerkarte mit VBA erstellen
31.12.2013 13:47:33
Andreas
Hallo liebe Excel-User,
ich bin nun gezwungener Weise von Excel 2003 auf Excel 2010 umgestiegen und mache mich in den letzten Tagen mit den Änderungen vertraut.
In Excel 2010 gibt es ja keine Menüleiste mehr. Ich habe allerdings einige Exceldateien, die in der Menüleiste beim Öffnen der Datei einen neuen Menüpunkt mit einigen Unterpunkten per Makro anlegen, und diesen beim Schließen der Datei wieder löschen.
Dieses habe ich bislang mit folgenden VBA-Code gesteuert :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("Buchhaltung").Delete
On Error GoTo 0
Application.StatusBar = False
End Sub
Private Sub Workbook_Open()
''' Menüleiste
Dim cmdBar As CommandBar
Dim cntMenu As CommandBarControl
Dim cntButton As CommandBarButton
Set cmdBar = Application.CommandBars("Worksheet Menu Bar")
Set cntMenu = cmdBar.Controls.Add(msoControlPopup, before:=cmdBar.Controls.Count)
cntMenu.Caption = "Buchhaltung"
Set cntButton = cntMenu.Controls.Add
With cntButton
.Caption = "Dateneingabe"
.OnAction = "aktuell"
.FaceId = 224
End With
Set cntButton = cntMenu.Controls.Add
With cntButton
.BeginGroup = True
.Caption = "Fahrtkosten abrechnen"
.OnAction = "kfzkosten"
.FaceId = 200
End With
Set cntButton = cntMenu.Controls.Add
With cntButton
.Caption = "Finanzstatus"
.OnAction = "finanz"
.FaceId = 125
End With
End Sub

Da es ja nun die Menüleiste nicht mehr gibt wäre meine Idee, beim Öffnen der Datei eine neue Registerkarte per VBA mit den entsprechenden Icons drauf anlegen zu lassen. Durch Klick auf das jeweilige Icon soll das zugewiesene Makro gestartet werden. Beim Schließen der Datei soll die Registerkarte wieder gelöscht werden.
Ich habe schon gegoogelt, mich auch schon mit dem Tool OfficeCustomUIEditorSetup befasst, aber inzwischen sehe ich den Wald vor lauter Bäumen nicht mehr. Ich hab nicht mal einen gedanklichen Ansatzpunkt gefunden.
Daher drei Fragen :
1.) geht das überhaupt, dass man Makrogesteuert eine Registerkarte erstellen und mit entsprechenden Icons füllt, denen dann ein Makro zugewiesen wird ?
2.) wenn ja, wie ?
3.) wenn nicht, wie kann man es in Office 2010 auf einem anderen Weg realisieren, dass man nur in der geöffneten Exceldatei eine Art "Menüpunkt" bekommt.
Für jede Hilfe und jeden Tipp wäre ich sehr dankbar.
Viele Grüße und guten Rutsch ins Jahr 2014
Andreas Frauboes

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Registerkarte mit VBA erstellen
31.12.2013 13:53:29
Hajo_Zi
Hallo Andreas,
Deine eignen Schalter dürfte im Register Add Ins sein.
Ich baue das jetzt nicht nach.

AW: Registerkarte mit VBA erstellen
31.12.2013 14:16:20
mumpel
Hallo!
Scahu Dir mal meinen RibbonX-Workshop an.
Gruß, René
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel Registerkarte mit VBA erstellen


Schritt-für-Schritt-Anleitung

Um in Excel eine neue Registerkarte per VBA zu erstellen, befolge diese Schritte:

  1. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Neues Modul einfügen:

    • Rechtsklicke im Projektfenster auf "VBAProject (DeineDatei.xlsx)".
    • Wähle Einfügen > Modul.
  3. VBA-Code einfügen:

    • Kopiere den folgenden Code in das Modul:
    Private Sub Workbook_Open()
       Dim customUI As String
       customUI = "<customUI xmlns='http://schemas.microsoft.com/office/officeapp'>" & _
                   "<ribbon>" & _
                   "<tabs>" & _
                   "<tab id='myCustomTab' label='Buchhaltung'>" & _
                   "<group id='myGroup' label='Eingaben'>" & _
                   "<button id='btnEingabe' label='Dateneingabe' onAction='aktuell'/>" & _
                   "<button id='btnFahrtkosten' label='Fahrtkosten' onAction='kfzkosten'/>" & _
                   "<button id='btnFinanzstatus' label='Finanzstatus' onAction='finanz'/>" & _
                   "</group></tab></tabs></ribbon></customUI>"
       Call SetCustomUI(customUI)
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Call RemoveCustomUI
    End Sub
  4. Makros zuweisen:

    • Stelle sicher, dass die Makros aktuell, kfzkosten und finanz in deinem Projekt vorhanden sind.
  5. Office Custom UI Editor nutzen:

    • Öffne das Tool OfficeCustomUIEditorSetup und füge den generierten XML-Code hinzu, um die Registerkarte in Excel zu erstellen.
  6. Datei speichern und testen:

    • Speichere die Datei im Format .xlsm (Makro-fähige Arbeitsmappe) und öffne sie erneut, um die neue Registerkarte zu sehen.

Häufige Fehler und Lösungen

  • Fehler: Registerkarte wird nicht angezeigt:

    • Stelle sicher, dass du die Datei als .xlsm gespeichert hast und die Makros aktiviert sind.
  • Fehler: Buttons funktionieren nicht:

    • Überprüfe die Namen der Makros, um sicherzustellen, dass sie korrekt zugewiesen sind.

Alternative Methoden

Falls du keine VBA-Programmierung nutzen möchtest, kannst du auch die Excel-Funktionen nutzen, um eine neue Registerkarte manuell zu erstellen:

  1. Klicke mit der rechten Maustaste auf eine bestehende Registerkarte.
  2. Wähle Neue Registerkarte.
  3. Benenne die Registerkarte und füge manuell deine gewünschten Funktionen hinzu.

Praktische Beispiele

Ein Beispiel für eine häufig genutzte aktuell-Prozedur könnte wie folgt aussehen:

Sub aktuell()
    MsgBox "Dateneingabe wird gestartet."
    ' Hier deine Dateneingabe Logik einfügen
End Sub

Tipps für Profis

  • Nutze die OfficeCustomUIEditorSetup-Software, um eine benutzerdefinierte UI zu erstellen. Dies ermöglicht dir, die Funktionalität der neuen Registerkarte voll auszuschöpfen.
  • Experimentiere mit verschiedenen Icons und Beschriftungen, um die Benutzerfreundlichkeit deiner neuen Registerkarte zu erhöhen.

FAQ: Häufige Fragen

1. Frage
Kann ich die neue Registerkarte auch in Word erstellen?
Ja, die Prinzipien zur Erstellung einer Word Registerkarte sind ähnlich, jedoch musst du die spezifischen Word-Objekte verwenden.

2. Frage
Wie kann ich die neue Registerkarte in Excel 2007 erstellen?
In Excel 2007 gibt es bestimmte Einschränkungen, aber du kannst ebenfalls VBA verwenden, um eine neue Registerkarte zu erstellen, indem du in das Ribbon-X Schema eingreifst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige