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

VBA wenn ... dann... Verzweigung

VBA wenn ... dann... Verzweigung
03.01.2006 14:00:43
Horst H
Hallo nette Leute im Forum,
wie müsste ein script aussehen, das ich einigen jetzigen OnAction (Menü)voranstellen möchte: sinngemäss: führe xy()[die bisherigen VBAs] nur aus, wenn nur main.xls und Monat.xls offen sind. Es könnte auch in den bisherigen scripts voran eingebunden werden. Ziel: Wenn mehrere Mappen offen sind und zwischen den Menü-Unterpunkten zwecks Bearbeitung hin- und hergesprungen wird, soll sichergestellt sein, dass nur diese beiden Mappen offen sind. Die VBAs sind alle in der Main.xls. Die meisten OnAction sind Abläufe, die auf die geöffnete Monat.xls einwirken - jedoch können andere User auch andere Mappen über das Menü öffnen. Ich möchte , dass aufeinander abgestimmte Menü-Unterpunkte (mal best. Abspeichern, versch. Be- und Verarbeitungsroutinen nach einander etc.) nur ausgeführt werden, wenn nur beide Mappen offen sind. Sonst soll keine Action stattfinden.
Wer hilft mir bitte mit einem script? Danke im voraus!
Gruß Horst

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA wenn ... dann... Verzweigung
03.01.2006 14:38:15
Eugen
hi
dim bMain as boolean
bMain = false
if workbooks.count = 2 and ((workbooks(1).name="main.xls and workbooks(2).name = "monat.xls") or (workbooks(2).name="main.xls and workbooks(1).name = "monat.xls")) then
bMain = true
endif
'Build your custom style menu here!
With myCmdBar.Controls.Add _
(Type:=msoControlButton, temporary:=True)
.Caption = "Steuergerät editieren"
.OnAction = "Mask"
.BeginGroup = True
.Enabled = bMain
End With
mfg
AW: VBA wenn ... dann... Verzweigung
04.01.2006 10:00:39
Horst H
Hallo Eugen,
danke! War gestern nachmittags auswärts. Gebe Rückmeldung, wenn ich mich nachher (zeitlich) damit befasst habe. Bei Fragen würde ich gerne noch einmal darauf zuückkommen.
Gruß Horst
Anzeige
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
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige