VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Symbolleiste mit ComboBox erstellen

Gruppe

Menue

Bereich

ComboBox

Thema

Symbolleiste mit ComboBox erstellen

Problem

Wie kann ich beim Öffnen einer Arbeitsmappe eine Symbolleiste mit einer CommandBarComboBox erstellen und mit den Werten aus Spalte A einer Tabelle bestücken? Es handelt sich bei Dateinamen. Bei Auswahl einer Datei in der ComboBox soll diese geöffnet werden.

Lösung

Geben Sie den Ereigniscode in das Klassenmodul der Arbeitsmappe ein.




ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Call CmdDelete
End Sub

Private Sub Workbook_Open()
   Dim wks As Worksheet
   Dim oBar As CommandBar
   Dim oCbo As CommandBarComboBox
   Dim iCounter As Integer
   Set wks = ThisWorkbook.Worksheets("Tabelle1")
   Call CmdDelete
   Set oBar = Application.CommandBars.Add("Dateien", msoBarTop)
   Set oCbo = oBar.Controls.Add(msoControlComboBox)
   iCounter = 1
   With oCbo
      Do Until IsEmpty(wks.Cells(iCounter, 1))
         .AddItem wks.Cells(iCounter, 1).Value
         iCounter = iCounter + 1
      Loop
      .OnAction = "DateienLaden"
      .ListIndex = 1
   End With
   oBar.Visible = True
End Sub

StandardModule: basMain

Sub DateienLaden()
   Dim wkb As Workbook
   Dim sFile
   With CommandBars("Dateien").Controls(1)
      sFile = .List(.ListIndex)
   End With
   On Error Resume Next
   Set wkb = Workbooks(sFile)
   If Err > 0 Or wkb Is Nothing Then
      Err.Clear
      On Error GoTo 0
      Workbooks.Open (sFile)
   End If
End Sub

Sub CmdDelete()
   On Error GoTo ERRORHANDLER
   Application.CommandBars("Dateien").Delete
ERRORHANDLER:
End Sub

    


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