Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kombinationsfeld in Menüleiste

Kombinationsfeld in Menüleiste
23.01.2007 16:17:00
Roland
Hallo Excel und VBA Speziallisten
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kombinationsfeld in Menüleiste
23.01.2007 17:02:44
IngGi
Hallo Roland,
so vielleicht?

Sub MonatHoch()
With ThisWorkbook.Sheets
   If ActiveSheet.Index = (12) Then
   .Item(1).Activate
   With Application.CommandBars("Meine Liste").Controls("Monate")
      .ListIndex = 1
   End With
   Else
   .Item(ActiveSheet.Index + 1).Activate
   With Application.CommandBars("Meine Liste").Controls("Monate")
      .ListIndex = .ListIndex + 1
   End With
   End If
End With
End Sub
Gruß Ingolf
Anzeige
AW: Kombinationsfeld in Menüleiste
23.01.2007 17:34:43
Roland
Hallo Ingolf
Perfekt! Hat einwandfrei funktioniert sowohl für rauf wie auch für runter.
Besten Dank für Deine schnelle Hilfe.
Gruss
Roland
und noch was:
23.01.2007 17:40:28
Rudi
Hallo,

Sub Monatswahl(bytIndex As Byte)
Dim bytIndex As Byte
bytIndex = Application.CommandBars("Meine Liste"). _
Controls("Monate").ListIndex
Worksheets(Format(DateSerial(2000, bytIndex, 1), "MMMM")).Select
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: und noch was:
23.01.2007 19:16:51
Roland
Hallo Rudi
besten Dank für den Tip. Funktioniert einwandfrei. Ich bin mir nur nicht ganz sicher, ob die Definierung ...(2000, ... etwas mit meiner Office Version zutun hat oder nicht.
(Da kommt meine laienhafte Ahnung von VBA leider voll zum Zug) :-(
Diese Excel-Datei sollte nähmlich auch unter anderen Office Versionen laufen.
Vielleicht kannst Du mich ja noch darüber aufklären.
Besten Dank
Gruss
Roland
Anzeige
AW: und noch was:
23.01.2007 21:55:38
Rudi
Hallo,
nein, kein Problem. 2000 ist einfach eine Jahreszahl.
Beschäftige dich doch mal mit der Syntax von Dateserial. Ist das gleiche wie bei Datum()
Gruß
Rudi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige