Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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
...

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
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)

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige