Hallo zusammen,
ich habe eine Makro welches aus einer Excel Datei bestimmte Register löscht, welche in einem bestimmten Bereich aufgelistet sind. Dazu löscht es auch noch alle definierten Namen und fügt die aktuellen Register, welche gelöscht wurden, von einem anderen Excel-Datei wieder ein.
Nun habe ich das Problem, das nachdem das Makro erfolgreich durchfüghrt wurde, ohne Fehler, stürtzt das Excel jedesmal ab, wenn ich es speichern will. Hat jemand dieses Problem/Phänomen auch schon gehabt und hat eine Lösung gefunden?
Benj
Das ganze läuft auf einem Office 2010 und hier noch den Code des Makros:
Sub EM_kopieren()
Application.ScreenUpdating = False 'Bildschirmausgabe abschalten
Application.DisplayAlerts = False 'Display Alarm ausschalten
Calculation = xlCalculationManual
EnableEvents = False
Dim QWB As Workbook, ZWB As Workbook 'Variabeln Dekleration
Dim QWS As Worksheet, ZWS As Worksheet, ws As Worksheet
Dim Pfad As String, Register As String
Dim zähler As Integer, anzahl As Integer
Dim dname As Name
anzahl = ActiveWorkbook.Worksheets("Start").Range("G33").Value 'Auslesen der Anzahl zu kopierenden Register
Pfad = ActiveWorkbook.Worksheets("Start").Range("G8").Value
Set ZWB = ThisWorkbook ' Ziel, Workbook mit diesem Makro
For Each dname In ZWB.Names
dname.Delete
Next dname
Workbooks.Open Filename:=Pfad
Set QWB = Workbooks("Module_Master.xlsm")
On Error Resume Next
For zähler = 11 To anzahl + 10
Register = ZWB.Worksheets("Start").Range("G" & zähler).Value
' Ziel, Workbook mit diesem Makro
Set QWS = QWB.Worksheets(Register) ' Quelle
Set ZWS = ZWB.Worksheets("Example") ' Ziel
Set DWS = ZWB.Worksheets(Register)
DWS.Delete
QWS.Copy after:=ZWS ' oder before
Next zähler
On Error GoTo 0
Workbooks("Module_master.xlsm").Close ' Wenn die Datei wieder geschlossen werden soll
Application.ScreenUpdating = True 'Bildschirmausgabe abschalten
Application.DisplayAlerts = True 'Display Alarm ausschalten
Calculation = xlCalculationAutomatic
EnableEvents = True
End Sub
|