Excel stürzt ab
04.10.2013 10:16:52
Alex
Hab einen etwas längeren Code, der auch einwandfrei funktioniert hat.
Jedoch hat ein Kollege mit der selben Excelversion den Code ausgeführt und dabei stürzt Excel ab (Programm funktioniert nicht mehr). Er hat es auch schon auf einem anderen PC probiert und auch dort stürzt Excel ab.
Prinzipiell wird mit der Funktion SaveCopyAs die Datei abgespeichert, anschließend geöffnet und _
die Verknüpfungen geändert.
' Pfad und Name des neuen Tagesstatus _
_
_
_
_
_
_
vergeben
tagesstatus = "P:\Logistik KW" & DINKw(datum) & "\REP_" & Dat(datum, 0) & " _
_TagesstatusLogistik_ZM-11-4.xlsm"
' Kopie der aktuellen Datei speichern
ChDir "P:Logistik KW" & DINKw(datum)
ActiveWorkbook.SaveCopyAs Filename:=tagesstatus
ChDir "P:\ZM-1\ZM-11\ZM-11-4\100-Public\STATUS-_L_Q"
' Öffnen der neuen Datei
Workbooks.Open Filename:=tagesstatus
' Erkennen der Position der Tabellenblä _
_
_
_
_
_
_
tter 'Montag' und 'Freitag'
j = Worksheets("Montag 15.07.").Index
k = Worksheets("Freitag 19.07.").Index
' Umbennen der Tabellenblätter auf _
neues Datum
For i = j To k
Worksheets(i).Name = WeekdayName(Weekday(datum - 2 + i)) & " " & DDMM(datum - 1 + i)
Next
' Änderung der Links in Tabellenblatt ' _
_
_
_
_
_
_
Montag'
Worksheets("Montag " & DDMM(datum)).Select
Application.Calculation = xlCalculationManual ' manuelle Berechnung/Aktualisierung _
aktivieren
' Ändern der ersten Verlinkung, da auf _
_
_
_
_
_
_
2 verschiedene Tabellen zugegriffen wird
Application.SendKeys "{Down}{Down}{Down}{Down}{ENTER}", True
Application.SendKeys "{ENTER}", True
ChDir "P:\Logistik-Archiv"
ActiveWorkbook.ChangeLink Name:= _
"P:\Logistik-Archiv\REP_" & Dat("12.07.2013", 0) _
& "_TagesstatusLogistik_ZM-11-4.xlsx", NewName:= _
"P:\Logistik-Archiv\REP_" & Dat(datum, 3) _
& "_TagesstatusLogistik_ZM-11-4.xlsm", Type:=xlExcelLinks
Application.Wait Now + TimeSerial(0, 0, 1)
For i = 2 To 4 ' Ändern der Verlinkungen 'Übertrag aus _
_
_
_
_
_
_
KW##'
Application.SendKeys "{Down}{Down}{Down}{Down}{ENTER}", True
ChDir "P:\Logistik-Archiv"
ActiveWorkbook.ChangeLink Name:= _
"P:\Logistik-Archiv\REP_" & Dat("12.07.2013", 7 * (i - 1)) _
& "_TagesstatusLogistik_ZM-11-4.xlsx", NewName:= _
"P:\Logistik-Archiv\REP_" & Dat(datum, 3 + 7 * (i - 1)) _
& "_TagesstatusLogistik_ZM-11-4.xlsm", Type:=xlExcelLinks
Application.Wait Now + TimeSerial(0, 0, 1)
Next
' Änderung der Links in Tabellenblatt " _
_
_
_
_
_
_
Daten Montage"
Sheets("Daten Montage").Select
Application.SendKeys "{Down}{Down}{Down}{Down}{Down}{Down}{Down}{ENTER}{NUMLOCK}", True
ActiveWorkbook.ChangeLink Name:= _
"P:\Logistik-Archiv\REP_130712_TagesstatusLogistik_ZM-11-4.xlsx" _
, NewName:= _
"P:\Logistik-Archiv\REP_" & Dat(datum, 3) & "_TagesstatusLogistik_ZM-11-4.xlsm" _
, Type:=xlExcelLinks
Application.Calculation = xlCalculationAutomatic ' automatische Berechnung/ _
Aktualisierung aktivieren
ChDir "P:\Logistik-Archiv"
Workbooks.Open Filename:= _
"P:\Logistik-Archiv\REP_" & Dat(datum, 3) & "_TagesstatusLogistik_ZM-11-4.xlsm" _
, UpdateLinks:=3
For i = 6 To Cells(Rows.Count, "M").End(xlUp).Row ' Kopieren der Basis von letzten _
Freitag in neue Montagsliste
Workbooks("REP_" & Dat(datum, 0) & "_TagesstatusLogistik_ZM-11-4.xlsm").Sheets("Montag " _
_
_
_
_
_
_
& DDMM(datum)).Cells(i, "M").Value = _
Workbooks("REP_" & Dat(datum, 3) & "_TagesstatusLogistik_ZM-11-4.xlsm").Sheets("Freitag _
_
_
_
_
_
_
" & DDMM(datum - 3)).Cells(i, "M").Value
Next
Application.DisplayAlerts = False ' letzten Tagesstatus schließen und Ä _
nderungen nicht speichern
Windows("REP_" & Dat(datum, 3) & "_TagesstatusLogistik_ZM-11-4.xlsm").Close
Application.DisplayAlerts = True
Kann mir bitte jemand helfen, hab absolut keinen Plan!
Alex