Hilfe zur UserForm
Hallo Excelexperten,
wenn ich ein Backup vor dem schließen (unload Userform1) erstelle und dann die UserForm gleich wieder öffne (UserForm1.Show) wird dann immer ein Laufzeitfehler (75) angezeigt. Wo liegt der Fehler?
Ich hoff ihr könnt mir weiterhelfen.
Gruß
fedjo
Private Sub CommandButton5_Click()
If ListBox4.ListIndex <> 0 Then CommandButton3.Enabled = False
If ActiveSheet.AutoFilterMode = True Then
Selection.AutoFilter
UserForm1.ComboBox5 = ""
UserForm1.TextBox2 = ""
UserForm1.ListBox1 = ""
UserForm1.TextBox7 = ""
UserForm1.TextBox8 = ""
UserForm1.ComboBox1 = ""
UserForm1.TextBox9 = ""
Cells.Rows.EntireRow.Hidden = False
Else
UserForm1.ComboBox5 = ""
UserForm1.TextBox2 = ""
UserForm1.ListBox1 = ""
UserForm1.TextBox7 = ""
UserForm1.TextBox8 = ""
UserForm1.ComboBox1 = ""
UserForm1.TextBox9 = ""
Cells.Rows.EntireRow.Hidden = False
End If
Frage = MsgBox("Sollen die Daten gesichert werden.", _
vbYesNo + vbExclamation, "Achtuung")
If Frage = vbYes Then
Backup
End If
Unload UserForm1
End Sub
Sub Backup()
'speichern und Sicherungskopie erstellen
ActiveWorkbook.Save
Application.DisplayAlerts = False
Dim FName As String
Dim OldComment As String
'sichert die Kommentare zur Originaldatei
OldComment = ActiveWorkbook.Comments
'Fügt neue Kommentare zur Sicherungskopie hinzu
ActiveWorkbook.Comments = "Sicherungskopie von " & _
ActiveWorkbook.Name & _
", erstellt von der Backup-Prozedur."
'Name für die Sicherungskopie aus dem Namen der Originaldatei bilden
FName = Left(ActiveWorkbook.Name, _
InStr(ActiveWorkbook.Name, ".")) & _
"(backup).xls"
ActiveWorkbook.SaveCopyAs Filename:="D:\" & FName
ActiveWorkbook.Comments = OldComment 'Wiederherstellen der alten Kommentare
End Sub
Antwort schreiben
Antwort 1 von Saarbauer vom 18.05.2020, 21:43 Options
Hallo,
in welcher Zeile wird denn der Fehler angezeigt?
Zitat:
Private Sub CommandButton5_Click()
If ListBox4.ListIndex <> 0 Then CommandButton3.Enabled = False
If ActiveSheet.AutoFilterMode = True Then
Selection.AutoFilter
UserForm1.ComboBox5 = ""
UserForm1.TextBox2 = ""
UserForm1.ListBox1 = ""
UserForm1.TextBox7 = ""
UserForm1.TextBox8 = ""
UserForm1.ComboBox1 = ""
UserForm1.TextBox9 = ""
Cells.Rows.EntireRow.Hidden = False
Else
UserForm1.ComboBox5 = ""
UserForm1.TextBox2 = ""
UserForm1.ListBox1 = ""
UserForm1.TextBox7 = ""
UserForm1.TextBox8 = ""
UserForm1.ComboBox1 = ""
UserForm1.TextBox9 = ""
Cells.Rows.EntireRow.Hidden = False
End If
Frage = MsgBox("Sollen die Daten gesichert werden.", _
vbYesNo + vbExclamation, "Achtuung")
If Frage = vbYes Then
Backup
End If
Unload UserForm1
End Sub
Warum hast du eigentlich hier 2 mal den fast gleichen Aufbau?
Könnte man aus meiner Sicht so verkürzen
Private Sub CommandButton5_Click()
If ListBox4.ListIndex <> 0 Then CommandButton3.Enabled = False
If ActiveSheet.AutoFilterMode = True Then Selection.AutoFilter
UserForm1.ComboBox5 = ""
UserForm1.TextBox2 = ""
UserForm1.ListBox1 = ""
UserForm1.TextBox7 = ""
UserForm1.TextBox8 = ""
UserForm1.ComboBox1 = ""
UserForm1.TextBox9 = ""
Cells.Rows.EntireRow.Hidden = False
Frage = MsgBox("Sollen die Daten gesichert werden.", _
vbYesNo + vbExclamation, "Achtuung")
If Frage = vbYes Then
Backup
End If
Unload UserForm1
End Sub
Gruß
Helmut
Antwort 2 von fedjo vom 19.05.2020, 18:13 Options
Hallo Helmut,
dein Code funktioniet jetzt, nach dem ich auch noch beim "Backup" das Laufwerk von "D" auf ein Netzwerk geweselt habe.
Danke für deine Hilfe!!
Gruß
fedjo