Kombinationsfeld in Menüleiste
23.01.2007 16:17:00
Roland
Ich komme bei folgendem Problem einfach nicht weiter.
Ich habe eine Menüleiste erstellt mit einem Kombinationsfeld, dass alle Monate enthält, über die ich auf die einzelnen Monatsblätter zugreiffen kann. Gleichzeitig habe ich einen Button links und rechts des Kombinationsfeldes, mit dem ich einen Monat nach oben oder nach unten navigieren kann. Soweit funktioniert das alles.
Nun möchte ich, dass wenn ich mit den Buttons links und rechts hoch oder runter navigiere auch gleichzeitig die Namen im Kombinationsfeld angepasst werden.
Beispiel: Ich navigiere mit dem Kombinationsfeld zum Monat August und anschliessend mit dem Button rechts ein Monat höher. Nun sollte im Kombinationsfeld "September" angezeigt werden.
Als VBA Code habe ich den Kombinationsfeldausschnitt beigelegt.
Im Voraus besten Dank für eure Hilfe.
Gruss
Roland
' Monat Auswälfeld
With .Controls.Add(Type:=msoControlComboBox)
' Angezeigter Text
.AddItem Text:="Januar"
.AddItem Text:="Februar"
.AddItem Text:="März"
.AddItem Text:="April"
.AddItem Text:="Mai"
.AddItem Text:="Juni"
.AddItem Text:="Juli"
.AddItem Text:="August"
.AddItem Text:="September"
.AddItem Text:="Oktober"
.AddItem Text:="November"
.AddItem Text:="Dezember"
' Einstellungen am Kombinationsfeld
.Caption = "Monate"
.DropDownLines = 12
.DropDownWidth = 60
.ListHeaderCount = 0
.TooltipText = "Monat auswählen"
.OnAction = "Monatswahl"
End With
' Nächster Monat auswählen
With .Controls.Add(Type:=msoControlButton)
.Caption = "Nächster Monat"
.Style = msoButtonIcon
.FaceId = 156
.OnAction = "MonatHoch"
End With
Sub Monatswahl()
Dim bytIndex As Byte
bytIndex = Application.CommandBars("Meine Liste"). _
Controls("Monate").ListIndex
Select Case bytIndex
Case 1
Worksheets("Januar").Select
Case 2
Worksheets("Februar").Select
Case 3
Worksheets("März").Select
Case 4
Worksheets("April").Select
Case 5
Worksheets("Mai").Select
Case 6
Worksheets("Juni").Select
Case 7
Worksheets("Juli").Select
Case 8
Worksheets("August").Select
Case 9
Worksheets("September").Select
Case 10
Worksheets("Oktober").Select
Case 11
Worksheets("November").Select
Case 12
Worksheets("Dezember").Select
End Select
End Sub
Sub MonatHoch()
With ThisWorkbook.Sheets
If ActiveSheet.Index = (12) Then
.Item(1).Activate
Else
.Item(ActiveSheet.Index + 1).Activate
End If
End With
End Sub