Excel VBA eine Datei öffnen, andere Datei auch öffnen?
Ich habe in Excel zwei Dateien. Nennen wir Sie A und B.
Wenn ich A öffne, erscheint beim öffnen eine msgbox in der ich gefragt werde, ob ich auch B öffnen will. Drücke ich Yes wird auch B geöffnet.
Private Sub Workbook_Open()
Dim a As Integer
a = MsgBox("B.xlsm auch öffnen?", vbYesNo)
If a = vbYes Then
Workbooks.Open "C:\Users\...\B.xlsm"
Workbooks("A_.xlsm").Activate
End If
End Sub
Das selbe habe ich auch für B erstellt. D. h. ich öffne B und werde gefragt ob ich A öffnen will. Gehe ich auf Yes wird auch A geöffnet.
Soweit klappt alles. Allerdings:
Öffne ich z. B. A, dann werde ich nach B öffnen gefragt, klicke ich auf Yes wird B geöffnet und A aktiviert. Allerdings erscheint mir nun, da B geöffnet wird nochmal die Msgbox mit a = MsgBox("A.xlsm auch öffnen?", vbYesNo). Dies hatte ich ja so festgelegt, falls B geöffnet wird. Allerdings ist dies unsinnig, da A ja bereits offen ist.
Wie kann ich diese zweite MSGbox unterdrücken? D.h. ich öffne A, drücke Yes, B wird geöffnet. Nun soll das Ereignis Private Sub Workbook_Open() für B nicht ausgeführt werden, damit die msgbox ob ich A auch öffnen will nicht erscheint.
MFG
1 Antwort
Such in den workbooks ob das andere workbook existiert.
Müsste glaub gehen.
For each workbook in workbooks
If workbook.name like *b* then
otherwbopen = true
Else
otherwbopen = false
Endif
In etwa so von der Struktur her könnte das funktionieren.
Wenn derjenige wo Antwortet Unsinn erzählt, dann darf derjenige sich nicht wundern, wenn er eine derartige Antwort erhält.
Wenn ich mich im Ton hier vergriffen habe Sorry!
Allerdings gibt das, was Ale28 geschrieben hat für mich keinen Sinn
otherwbopen = true ???? Dies gibt es doch in VBA gar nicht
Das is nur der Name für die variable du Vogel.
Wenn man halbwegs sinnvoll programmiert nennt man seine variable nicht a sondern gibt ihr einen sinnvollen namen.
Ein wenig Grundwissen erwarte ich halt.
Frag nicht wenn du keine Antworten willst.
Erzähl hier keinen Mist!