ih brauch mal wieder eure Hilfe. Ich habe eine Datei mit mehreren Tabellenblättern. Auf Knopfdruck in einer UserForm sollen Daten von meinem aktiven Blatt (Kalenderwochen) in eine Vorlage (Tagesansicht) kopiert werden. Im Anschluss soll die Vorlage in eine neue leere Datei kopiert und abgespeichert werden.
Leider hängt sich Excel hier immer auf. Die neue Datei bleibt weiß. Wenn ich die neue Datei schließe und Windows mich auffordert, Excel neu zu starten, springt Excel in meine Ursprungsdatei zurück, öffnet den Debugger und gibt an, dass er sich bei der Kopie aufgehängt hat.
Die Vorlage (Tagesansicht) ist plötzlich komplett leer dann. Alle Formatierungen und Werte sind weg.
Ich finde aber meinen Fehler nicht.
Danke im Voraus!
Hier mein Code:
Private Sub CommandButton1_Click()
Dim strPfad1 As String, strDateiname1 As String
Dim strAktuellerPfad1 As String
Dim strPrinterName1 As String
Dim Neu1 As Workbook
Dim Ursprung1 As Workbook
Dim Blatt1 As Worksheet
Application.DisplayAlerts = False
Set Ursprung1 = ActiveWorkbook
Set Blatt1 = ActiveSheet
Worksheets("Tagesansicht").Visible = True
Worksheets("Tagesansicht").Unprotect
Worksheets("Tagesansicht").Range("O1") = ""
Worksheets("Tagesansicht").Range("O1").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("D3") = ""
Worksheets("Tagesansicht").Range("D3").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("I3") = ""
Worksheets("Tagesansicht").Range("I3").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("N3") = ""
Worksheets("Tagesansicht").Range("N3").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("C5") = ""
Worksheets("Tagesansicht").Range("C5").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("C9:I46") = ""
Worksheets("Tagesansicht").Range("C9:I46").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("K10:O10") = ""
Worksheets("Tagesansicht").Range("K10:O10").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("K22:O22") = ""
Worksheets("Tagesansicht").Range("K22:O22").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("K33:O46") = ""
Worksheets("Tagesansicht").Range("K33:O46").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("V22:Y23") = ""
If Mo.Value = True Then
Worksheets("Tagesansicht").Range("O1").Value = ActiveSheet.Range("AA3").Value 'Datum
Worksheets("Tagesansicht").Range("D3").Value = ActiveSheet.Range("V26").Value 'Wache Früh
Worksheets("Tagesansicht").Range("I3").Value = ActiveSheet.Range("W26").Value 'Wache Spät
Worksheets("Tagesansicht").Range("N3").Value = ActiveSheet.Range("X26").Value 'Wache Nacht
Blatt1.Range("D7:E27").Copy
Worksheets("Tagesansicht").Range("C9:D29").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
Blatt1.Range("D30:E45").Copy
Worksheets("Tagesansicht").Range("C31:D46").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
Blatt1.Range("V8:Y9").Copy
Worksheets("Tagesansicht").Range("V22:Y23").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End If
If Di.Value = True Then
Worksheets("Tagesansicht").Range("O1").Value = ActiveSheet.Range("AB3") 'Datum
Worksheets("Tagesansicht").Range("D3").Value = ActiveSheet.Range("V27") 'Wache Früh
Worksheets("Tagesansicht").Range("I3").Value = ActiveSheet.Range("W27") 'Wache Spät
Worksheets("Tagesansicht").Range("N3").Value = ActiveSheet.Range("X27") 'Wache Nacht
ActiveSheet.Range("F7:G27").Copy
Worksheets("Tagesansicht").Range("C9:D29").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("F30:G45").Copy
Worksheets("Tagesansicht").Range("C31:D46").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("V10:Y11").Copy
Worksheets("Tagesansicht").Range("V22:Y23").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End If
If Mi.Value = True Then
Worksheets("Tagesansicht").Range("O1").Value = ActiveSheet.Range("AC3") 'Datum
Worksheets("Tagesansicht").Range("D3").Value = ActiveSheet.Range("V28") 'Wache Früh
Worksheets("Tagesansicht").Range("I3").Value = ActiveSheet.Range("W28") 'Wache Spät
Worksheets("Tagesansicht").Range("N3").Value = ActiveSheet.Range("X28") 'Wache Nacht
ActiveSheet.Range("H7:I27").Copy
Worksheets("Tagesansicht").Range("C9:D29").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("H30:I45").Copy
Worksheets("Tagesansicht").Range("C31:D46").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("V12:Y13").Copy
Worksheets("Tagesansicht").Range("V22:Y23").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End If
If Don.Value = True Then
Worksheets("Tagesansicht").Range("O1").Value = ActiveSheet.Range("AD3") 'Datum
Worksheets("Tagesansicht").Range("D3").Value = ActiveSheet.Range("V29") 'Wache Früh
Worksheets("Tagesansicht").Range("I3").Value = ActiveSheet.Range("W29") 'Wache Spät
Worksheets("Tagesansicht").Range("N3").Value = ActiveSheet.Range("X29") 'Wache Nacht
ActiveSheet.Range("J7:K27").Copy
Worksheets("Tagesansicht").Range("C9:D29").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("J30:K45").Copy
Worksheets("Tagesansicht").Range("C31:D46").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("V14:Y15").Copy
Worksheets("Tagesansicht").Range("V22:Y23").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End If
If Fr.Value = True Then
Worksheets("Tagesansicht").Range("O1").Value = ActiveSheet.Range("AE3") 'Datum
Worksheets("Tagesansicht").Range("D3").Value = ActiveSheet.Range("V30") 'Wache Früh
Worksheets("Tagesansicht").Range("I3").Value = ActiveSheet.Range("W30") 'Wache Spät
Worksheets("Tagesansicht").Range("N3").Value = ActiveSheet.Range("X30") 'Wache Nacht
ActiveSheet.Range("L7:M27").Copy
Worksheets("Tagesansicht").Range("C9:D29").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("L30:M45").Copy
Worksheets("Tagesansicht").Range("C31:D46").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("V14:Y15").Copy
Worksheets("Tagesansicht").Range("V22:Y23").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End If
If Sa.Value = True Then
Worksheets("Tagesansicht").Range("O1").Value = ActiveSheet.Range("AF3") 'Datum
Worksheets("Tagesansicht").Range("D3").Value = ActiveSheet.Range("V31") 'Wache Früh
Worksheets("Tagesansicht").Range("I3").Value = ActiveSheet.Range("W31") 'Wache Spät
Worksheets("Tagesansicht").Range("N3").Value = ActiveSheet.Range("X31") 'Wache Nacht
ActiveSheet.Range("N7:O27").Copy
Worksheets("Tagesansicht").Range("C9:D29").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("N30:O45").Copy
Worksheets("Tagesansicht").Range("C31:D46").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("V16:Y17").Copy
Worksheets("Tagesansicht").Range("V22:Y23").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End If
If So.Value = True Then
Worksheets("Tagesansicht").Range("O1").Value = ActiveSheet.Range("AG3") 'Datum
Worksheets("Tagesansicht").Range("D3").Value = ActiveSheet.Range("V32") 'Wache Früh
Worksheets("Tagesansicht").Range("I3").Value = ActiveSheet.Range("W32") 'Wache Spät
Worksheets("Tagesansicht").Range("N3").Value = ActiveSheet.Range("X32") 'Wache Nacht
ActiveSheet.Range("P7:Q27").Copy
Worksheets("Tagesansicht").Range("C9:D29").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("P30:Q45").Copy
Worksheets("Tagesansicht").Range("C31:D46").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
ActiveSheet.Range("V18:Y19").Copy
Worksheets("Tagesansicht").Range("V22:Y23").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End If
Worksheets("Tagesansicht").Activate 'Tagesplan kopieren und speichern
If Dir(Range("V3").Value, vbDirectory) = "" Then
MkDir (Range("V3").Value)
End If
If Dir(Range("V4").Value, vbDirectory) = "" Then
MkDir (Range("V4").Value)
End If
strPfad1 = Range("V5").Value
strAktuellerPfad1 = ActiveWorkbook.Path
If Len(strPfad1) = 0 Then
MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
Else
Worksheets("Tagesansicht").Copy 'Kopiert nur das AKTUELLE Blatt in eine neue Datei !
'Application.Dialogs(xlDialogSaveAs).Show (ort & ".xlsm")
ActiveWorkbook.SaveAs strPfad1 & Range("V2").Value & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False, ConflictResolution:=xlLocalSessionChanges
ActiveSheet.Name = "Aktueller Tag"
Worksheets("Aktueller Tag").Range("A1").Select
Set Neu1 = ActiveWorkbook
End If
Ursprung1.Worksheets("Tagesansicht").Activate
Worksheets("Tagesansicht").Range("O1") = ""
Worksheets("Tagesansicht").Range("O1").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("D3") = ""
Worksheets("Tagesansicht").Range("D3").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("I3") = ""
Worksheets("Tagesansicht").Range("I3").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("N3") = ""
Worksheets("Tagesansicht").Range("N3").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("C5") = ""
Worksheets("Tagesansicht").Range("C5").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("C9:I46") = ""
Worksheets("Tagesansicht").Range("C9:I46").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("K10:O18") = ""
Worksheets("Tagesansicht").Range("K10:O18").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("K22:O30") = ""
Worksheets("Tagesansicht").Range("K22:O30").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("K33:O46") = ""
Worksheets("Tagesansicht").Range("K33:O46").Interior.ColorIndex = 0
Worksheets("Tagesansicht").Range("V22:Y23") = ""
Worksheets("Tagesansicht").Range("A1").Select
Worksheets("Tagesansicht").Protect
Worksheets("Tagesansicht").Visible = False
Worksheets(AktivesBlatt).Activate
Unload Tagesansicht
Unload Auswahlfenster
Neu1.Worksheets("Aktueller Tag").Activate
MsgBox "Hier können manuell noch Daten geändert und eingegeben werden!"
Application.DisplayAlerts = True
End Sub