AW: VBA wenn ... dann... Verzweigung
04.01.2006 10:41:07
Horst H
Hallo Eugen,
ich muss doch rückfragen: An welche Position genau kommt "With myCmdBar.Controls..."? Habe es in den Menü-Unterpunkt mit eingebunden - Fehlermeldung 424 Objekt erforderlich.
Kompilierungsfehler in
Sub Mask() - die If-Anweisung 8Die Datei hat einen Blank im Dateinamen ?deshalb?
Bist du mir bitte behilflich und zeigst die genau Position der Einbindung - hab ich sicher nicht richtig. Auszüge:
zu 1)
Const MenüName = "QSB_Menü"
'M0.01
Sub Menü_QSB()
Call Menü_Zurücksetzen
Sheets("Startbild").Select
Application.Run "AlleOptionenWeg"
Application.Run "TitelInFenster"
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Windows("QSB.xls").Activate
ActiveWindow.Zoom = 100
Sheets("Startbild").Select
Application.Run "Start_Reinigen"
ActiveSheet.Protect "2005"
Application.Run "Kontext"
Application.Run "KontextEintragHinzufügen1"
Application.Run "KontextEintragHinzufügen2"
Application.Run "KontextEintragHinzufügen3"
Application.Run "KontextEintragHinzufügen4"
Application.Run "KontextEintragHinzufügen5"
Application.Run "KontextEintragHinzufügen6"
Set MB = CommandBars.Add(name:=MenüName, MenuBar:=True)
Set M1 = MB.Controls.Add(Type:=msoControlPopup)
Set M2 = MB.Controls.Add(Type:=msoControlPopup)
Set M3 = MB.Controls.Add(Type:=msoControlPopup)
Set M4 = MB.Controls.Add(Type:=msoControlPopup)
Set M5 = MB.Controls.Add(Type:=msoControlPopup)
Set M6 = MB.Controls.Add(Type:=msoControlPopup)
Set M7 = MB.Controls.Add(Type:=msoControlPopup)
M1.Caption = "&Dateien öffnen/ansehen/beenden"
M2.Caption = "&Reinigungsdaten eingeben/bearbeiten"
M3.Caption = "&Kalender/Grafiken"
M4.Caption = "&Drucken/Email/Sicherung"
M5.Caption = "Daten &einlesen"
M6.Caption = "&Objekte bearbeiten"
M7.Caption = " ? "
'M1 Dateien öffnen/ansehen/beenden
'Set cmdButton = M1.Controls.Add
Set cmdButton = M1.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Ansehen: aktuelle Monatsliste"
' .OnAction = "Data_Open_Quell_Monatslisten1"
.Style = msoButtonIconAndCaption
.FaceId = 142
End With
Set cmdButton = M1.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Ansehen: aktuelle Jahreszusammenfassung"
' .OnAction = "Data_Open_Quell_Jahreslisten"
.Style = msoButtonIconAndCaption
.FaceId = 142
End With
Set cmdButton = M1.Controls.Add
With cmdButton
.Caption = "-------------------------------------------------------------------"
End With
Set cmdButton = M1.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Öffnen: öffnen anderer Excel-Dateien"
.OnAction = "Data_Open_Fixed_Path"
.Style = msoButtonIconAndCaption
.FaceId = 23
End With
Set cmdButton = M1.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Frage: sind weitere Dateien geöffnet"
.OnAction = "Geöffnete_Mappen"
.Style = msoButtonIconAndCaption
.FaceId = 49
End With
Set cmdButton = M1.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Schließen: alle Dateien schließen außer QSB-Programm"
.OnAction = "Alle_Schließen_Außer_Dieser_oSp"
.Style = msoButtonIconAndCaption
.FaceId = 840
End With
Set cmdButton = M1.Controls.Add
With cmdButton
.Caption = "-------------------------------------------------------------------"
End With
Set cmdButton = M1.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Beenden: das QSB-Programm beenden und verlassen"
.OnAction = "Beenden"
.Style = msoButtonIconAndCaption
.FaceId = 1640
End With
'M2 Reinigungsdaten eingeben/bearbeiten
Set cmdButton = M2.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Schritt 1: Eingeben: Termine + Säcke in die Monatsliste eintragen"
.OnAction = "Station_Monatsliste_ÖffnenBearbeiten" 'Station
' .OnAction = "Monatsblätter_ÖffnenBearbeiten" 'Zentrale
.Style = msoButtonIconAndCaption
.FaceId = 592
End With
With myCmdBar.Controls.Add(Type:=msoControlButton, temporary:=True)
.Caption = "Steuergerät editieren"
.OnAction = "Mask"
.BeginGroup = True
.Enabled = bMain
End With
Set cmdButton = M2.Controls.Add(Type:=msoControlButton, ID:=1)
With cmdButton
.Caption = "Schritt 2: Aktualisieren: Eingaben in der Monatsliste aktualisieren"
.OnAction = "Station_Monatsliste_Aktualisieren" 'Station
' .OnAction = "Monatsformeln" 'Zentrale
.Style = msoButtonIconAndCaption
.FaceId = 560 '459
End With
usw.
zu 2)
in einem Modul:
Sub Mask()
Dim bMain As Boolean
bMain = False
if workbooks.count = 2 and ((workbooks(1).name="QSB.xls and workbooks(2).name = "QSB Monatslisten.xls") or (workbooks(2).name="QSB.xls and workbooks(1).name = "QSB Monatslisten.xls")) then
bMain = True
End If
End Sub
Kannst Du einem "Lehrling" zeigen, wo genau eingebunden wird? Danke in jedem Falle!
Gruß Horst