ich habe ein problem und bitte um Hilfe.
Ich habe ein recht komplexen Programm erstellt und kann es leider nicht online stellen deshalb versuche ich es so gut wie möglich zu erklären.
Ablauf:
Ich Starte die Datei.
Im Workbook Open Makro wird Automatisch eine Userform gestartet.
Nach dem Starten der Userform werden 2 Dateien gestartet.
So ... Set Datenbank1 = Workbooks.Open(PfadDatenbank, False, , , "pass", "pass")
Jetzt mein Problem.Ich habe auf der form mehere buttons und Felder.Wenn ich jetzt die userform und datei beenden möchte kann ich auf den Button schliesen klicken.
dann klappt auch alles wunderbar.
Aber sobald ich auf der Form auf das X oben rechts klicke kommt beim beenden der Datei also thisworkbook.close ein fehler.
Aber der kommt auch wenn ich davor noch sage aktuserform.hide
Ich weiß nicht weiter was ich noch versuchen könnte und woran es liegt.
Meine Query close sieht momentan so aus.
'Form beenden !
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'checking how was _
closed form
Dim X
Dim iTmp
Dim i
Dim arrTmp(10000) As String
If main_project_form.Tag = "admin" Then 'close userform - dont close file (for _
administration)
On Error Resume Next
If Obj_Datenbank_User.HasPassword = True Then
Call clear_textfile
Else
End If
main_project_form.Tag = ""
Unload main_project_form
Exit Sub
Else
'no else
End If
'----- close method 2
'dont close file (no permission to close file)
Cancel = True
CloseMode = 1
MsgBox ("Bitte über den Button (Beenden) schliesen !"), vbCritical, "so nicht ..."
End Sub
So wie sie jetzt ist erlaubt sie nur das schliesen der Userform und der Datei nach drücken des beenden buttons.
Wie kann ich es jetzt so umbauen das beim schliesen also drücken von X erst geprüft wird ob auf der Form eine checkbox selektiert ist und wenn das der fall ist das dann automatisch die geladenen beiden Dateien geschlossen werden und dann diese Datei sich selbst schliest.
Ich weiß recht kompliziert aber weiß nicht wie ich es besser erklären kann.
Würde mich sehr über Hilfe freuen ! Vielen Dank und sorry die Rechtschreibfehler
gruß Chris