Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Menüpunkt hinzufügen und bei Aufruf zeitgesteuert UserForm anzeigen

Gruppe

Button

Problem

Wie kann ich beim Öffnen der Arbeitsmappe dem Arbeitsblattmenü einen weiteren Menüpunkt hinzufügen und beim Schliessen wieder löschen? Der Menüpunkt soll für 2 Sekunden den Anwendernamen anzeigen.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul der Arbeitsmappe ein.

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Application.CommandBars("Worksheet Menu Bar") _
      .Controls("Dialog aufrufen").Delete
End Sub

Private Sub Workbook_Open()
   Dim oBar As CommandBar
   Dim oBtn As CommandBarButton
   Set oBar = Application.CommandBars("Worksheet Menu Bar")
   On Error Resume Next
   oBar.Controls("Dialog aufrufen").Delete
   On Error GoTo 0
   Set oBtn = oBar.Controls.Add
   With oBtn
      .Caption = "Dialog aufrufen"
      .OnAction = "CallForm"
      .Style = msoButtonCaption
   End With
End Sub

ClassModule: frmSplash

Private Sub UserForm_Activate()
   Application.Wait Now + TimeSerial(0, 0, 2)
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   lblUser.Caption = Application.UserName
End Sub

StandardModule: basMain

Sub CallForm()
   frmSplash.Show
End Sub

    

Beiträge aus dem Excel-Forum zu den Themen Menue und Button