VBA Excel schließen mit US aber mit Bedingung
06.01.2025 01:04:32
Mariia
ich bin eine komplette VBA-Leie, versuche aber gerade, eine kleine Datenbank zu erstellen.
Dank diesem Forum sehen meine UserFormen inzw. ganz gut aus und machen sogar das, was ich will. An einer Stelle komme ich aber leider nicht weiter und finde trotz tagelanger Researche keine Lösung. Ich hoffe sehr auf Eure Hilfe!
Beim Öffnen der Datei ist nur die UserForm und nicht die Excel-Datei sichtbar:
Private Sub Workbook_Open()
'ActiveWindow.WindowState = xlMinimized
UserForm1.Show
End Sub
Mit der UserForm werden zwei Anwendergruppen arbeiten:
1) Die eine arbeitet nur mit der UF und darf keinen Zugriff auf die Excel haben. Die UF soll über X geschlossen werden.
2) Die zweite Anwendergruppe soll aus der UF in die Excel-Datei gelangen können, um diese zu bearbeiten.
Die Excel-Datei lasse ich im zweiten Fall über einen Button in der UF wieder einblenden:
Private Sub CommandButton4_Click()
ActiveWindow.WindowState = xlMaximized
End Sub
Dabei taucht die Excel-Datei hinter der UF auf. Die UF muss geschlossen werden, um die Excel-Datein bearbeiten zu können (so läuft das aktuell und ich weiß nicht, ob man das ändern kann?).
Das Problem, welches ich habe, bezieht sich auf das Schließen der Dateien: Wenn die erste Anwendergruppe die UF schließt, schließt sich noch nicht die Excel-Datei. Das wollte ich lösen mit dem Code:
If Application.Workbooks.Count = 1 Then
ThisWorkbook.Saved = True
Application.Quit
Else
ThisWorkbook.Close False
End If
Das wäre aber ein Problem für die Anwendergruppe2: UF muss geschlossen werden, um die Excel-Datei bearbeiten zu können - aber Excel ginge zusammen mit der US weg.
Ich bräuchte also einen Code, der sagt so etwas wie:
Wenn die UF geschlossen wird, schließe auch die Excel-Datei, sofern diese ausgeblendet ist.
Wenn die Excel aber eingeblendet ist, darf sie nicht mit dem Schließen der US beendet werden.
Geht so etwas und wenn ja, wie würde der Code dafür aussehen?
Der zweite Lösungsansatz wäre, dass die eingeblendete Excel-Datei (für die Zielgruppe 2) im Vordergrund erscheint und die US nicht geschlossen werden muss, um an die Excel-Datei zu gelangen. Wäre das evtl. möglich?
Wichtig ist, dass immer nur diese eine Excel-Datei geschlossen wird. Andere Excel-Dateien, die ggf. parallel geöffnet sind, sollen weiterhin geöffnet bleiben.
Ich hoffe sehr, dass Ihr mir helfen könnt!!!
Anzeige