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

Forumthread: Menü - dropdown - case - If Msgbox läuft nicht ?

Menü - dropdown - case - If Msgbox läuft nicht ?
21.07.2006 10:03:44
HorstH
Hallo allerseits,
weiß jemand die Lösung des Problems: Habe im Menü ein Dropdown mit case. Als cas möchte ich gleich nach Auswahl eine Abfrage, ob tatsächlich ausführen oder abbrechen. Meine If-msgbox funktioniert nicht (Makros ohne If gehen) - excel bricht sogar gelegentlich ab. Hat jemand Ahnung, was ich falsch mache? Tipp wäre prima. Danke und Gruß, Horst
a)die case-Anweisung mit If-boxen + b) Auszug Menü (ToolTip wird auch nicht angezeigt?!)

Sub DropDownMenueAuswertung()
Dim objList As CommandBarControl
Dim Auswahl As Byte
Set objList = CommandBars.ActionControl
Auswahl = objList.ListIndex
Select Case Auswahl
Case 1:
'            If MsgBox("Wollen Sie den Menüpunkt 'Auswertung Standard: Tabelle ...' ausführen?", vbQuestion + vbYesNo) = vbYes Then
AuswertungMonateQuartaleJahr
Case 2:
'            If MsgBox("Wollen Sie den Menüpunkt 'Auswertung Pivot: Pivotberichte und Charts' ausführen?", vbQuestion + vbYesNo) = vbYes Then
'            xyz1
Case 3:
'            If MsgBox("Wollen Sie ...?", vbQuestion + vbYesNo) = vbYes Then
'            xyz2
Case 4:
'            If MsgBox("Wollen Sie ...?", vbQuestion + vbYesNo) = vbYes Then
'            xyz3
Case 5:
'            If MsgBox("Wollen Sie ...?", vbQuestion + vbYesNo) = vbYes Then
'            xyz4
End Select
End Sub

...
Set cmdButton = M4.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Auswertung Schritt 4: Datei duplizieren + Speichergröße verringern"
.OnAction = "DateiDuplizierenSpeichergröße"
.Style = msoButtonIconAndCaption
.FaceId = 1791 '2111 '956
.Enabled = False
End With
Set cmdButton = M4.Controls.Add(Type:=msoControlDropdown, ID:=1)
With cmdButton
.BeginGroup = True
.AddItem "Auswertung Standard: Tabelle (Werte und %) ..."
.AddItem "Auswertung Pivot: Pivotberichte und Charts"
.AddItem "Auswertung Gliederung: Tabellengliederung mit Grafik"
.AddItem "Auswertung 'X' in Spalten: von ... bis ... Monate (max. 10 Monate) ohne Grafik"
.AddItem "Auswertung 'X' in Spalten: Vierteljahre, getrennt nach Kategorien"
.ListIndex = 1
.OnAction = "DropDownMenueAuswertung"
.TooltipText = "Bitte auswählen..."
.Enabled = True
End With
Set cmdButton = M4.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.BeginGroup = True
.Caption = "Terminkalender: Kalender mit allen bisherigen Terminen ansehen "
.OnAction = "Under_Work"
.Style = msoButtonIconAndCaption
.FaceId = 125
.Enabled = True
End With
...
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Menü - dropdown - case - If Msgbox läuft nicht ?
21.07.2006 14:11:00
fcs
Hallo Horst,
du hast schlicht und einfach die "End If" Zeile vergessen. Den Doppelpunkt hinter den Case-zeile kannste dir auch sparen.
Gruß
Franz

Sub DropDownMenueAuswertung()
Dim objList As CommandBarControl
Dim Auswahl As Byte
Set objList = CommandBars.ActionControl
Auswahl = objList.ListIndex
Select Case Auswahl
Case 1
If MsgBox("Wollen Sie den Menüpunkt 'Auswertung Standard: Tabelle ...' ausführen?", vbQuestion + vbYesNo) = vbYes Then
AuswertungMonateQuartaleJahr
End If
Case 2
If MsgBox("Wollen Sie den Menüpunkt 'Auswertung Pivot: Pivotberichte und Charts' ausführen?", vbQuestion + vbYesNo) = vbYes Then
xyz1
End If
Case 3
If MsgBox("Wollen Sie ...?", vbQuestion + vbYesNo) = vbYes Then
xyz2
End If
Case 4
If MsgBox("Wollen Sie ...?", vbQuestion + vbYesNo) = vbYes Then
xyz3
End If
Case 5
If MsgBox("Wollen Sie ...?", vbQuestion + vbYesNo) = vbYes Then
xyz4
End If
End Select
End Sub

Anzeige
AW: Menü - dropdown - case - If Msgbox läuft nicht ?
21.07.2006 14:15:04
HorstH
Oooooh, Franz,
danke. Man kann auch manchmal ... sein!! (Kleines Männchen, das mit einem Hämmerchen auf den Kopf haut) :-))
Schönes Wochenende!
Gruß
Horst
AW: Menü - dropdown - case - If Msgbox läuft nicht ?
21.07.2006 14:16:19
Heiko
Hallo Horst,
ganz einfach due musst die richtige Syntax verwenden, siehe Beispielcode.

Sub Test()
' Entweder alles in eine Zeile
If MsgBox("Bla", vbYesNo) = vbYes Then MsgBox "Ja geht 1", vbInformation
' oder mit Unterstrich die Zeilen trennen.
If MsgBox("Bla", vbYesNo) = vbYes Then _
MsgBox "Ja geht 2", vbCritical
' Oder ganz richtig mit End if die If Anweisung abschliessen.
If MsgBox("Bla", vbYesNo) = vbYes Then
MsgBox "Ja geht 3", vbExclamation
End If
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Menü - dropdown - case - If Msgbox läuft nicht ?
21.07.2006 14:29:40
HorstH
Hallo Heiko,
auch danke für dein posting! Heißt das, dass, wenn ich Then + Enter mache, immer mit z. B. End If abschließen muss. Warum nicht dann auch beim Unterstrich, der ja nur eine Teilung der Zeile ist zur besseren optischen Verfolgung. Kannst du mir das noch erklären? Wäre nett. Hilfe zur Selbsthilfe gefällt mir in diesem Forum am besten! Wäre prima!
Gruß
Horst
Anzeige
AW: Menü - dropdown - case - If Msgbox läuft nicht ?
21.07.2006 14:38:09
Heiko
Hallo Horst,
du hast es doch selbst gerade richtig gesagt.
Bei Then + Enter immer mit End if.
Aber bei Unterstrich nicht da der VBA Compiler dies nicht als zwei sonder zum kompilieren als eine Zeile ansieht. Die Teilung ist, wie du sagst, nur für uns optisch, aber nicht für den Compiler.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Menü - dropdown - case - If Msgbox läuft nicht ?
21.07.2006 14:56:09
HorstH
Danke und schönes Wochenende!
Grüße aus Bremen (+33,2 °C)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige