Fehler1004 SpecialPaste kann nicht ausgeführt werd
Cornelia
Da ich hier gestern so tolle Hilfe bekommen habe, um meine ZielDatei zu finden und zu öffnen, wende ich mich nun mit einem weiteren Problem hoffnungsvoll an dieses Forum: der unten stehende Code läuft im Abschnitt "ZielDatei Werte einfügen" in einen "Laufzeitfehler 1004 / Die PasteSpecial-Methode des Range-Objekts konnte nicht ausgeführt werden".
Die verschiedenen Tipps aus diesem Forum zu diesem Laufzeitfehler habe ich schon ausprobiert leider erfolglos Kann mir jemand weiterhelfen, wo der Fehler liegt?
Ausserdem habe ich dann noch ein Problem beim Setzen der Formeln in den Zellen G5 / G58 / G79 / G96 / H5 / H79 / H96. Da weiss ich aber noch nicht, was nicht stimmt (die Zeilen werden rot eingefärbt, wenn ich sie ins Modul kopiere Vielleicht hat da jemand einen Hinweis für mich?
Hier mein Code:
Sub Budgets_kopieren()
Dim Ziel As Workbook
Dim Quelle As Workbook
Dim zs As Object
Dim zVerz As Object
Dim zDatei As Object
Dim zDateien As Object
Dim qs As Object
Dim qVerz As Object
Dim qDatei As Object
Dim qDateien As Object
Dim strZiel As String
Set zs = CreateObject("Scripting.FileSystemObject")
Set zVerz = zs.GetFolder("F:\DWH Programme\Makros\Budgets kopieren\Reportings\")
Set zDateien = zVerz.Files
Set qs = CreateObject("Scripting.FileSystemObject")
Set qVerz = qs.GetFolder("F:\DWH Programme\Makros\Budgets kopieren\Budgets\")
Set qDateien = qVerz.Files
For Each qDatei In qDateien
'QuellDatei öffnen
Application.DisplayAlerts = False
Set Quelle = Workbooks.Open(qDatei)
Application.DisplayAlerts = True
'QuellDatei Blatt "4.4) ER_2J_Plg" auf 2 Seiten anpassen
Quelle.Sheets("4.4) ER_2J_Plg").Select
ActiveWindow.View = xlPageBreakPreview
ActiveSheet.ResetAllPageBreaks
ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
Set ActiveSheet.HPageBreaks(1).Location = Range("A71")
ActiveWindow.View = xlNormalView
ActiveWindow.Zoom = 120
'QuellDatei Blatt "4.5) Lieferschein" + "4.4) ER_2J_Plg" drucken
'Sheets(Array("4.5) Lieferschein", "4.4) ER_2J_Plg")).Select
' Application.ActivePrinter = "\\S2001-PR010\p2001-2096pcl5 auf Ne05:"
' ExecuteExcel4Macro _
' "PRINT(1,,,1,,,,,,,,2,""\\S2001-PR010\p2001-2096pcl5 auf Ne05:"",,TRUE,,FALSE)"
' ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
'QuellDatei Spalten G + H kopieren
Sheets("4.4) ER_2J_Plg").Select
Columns("G:H").Select
Selection.Copy
'QuellDatei speichern + schliessen
Sheets("4.4) ER_2J_Plg").Select
ActiveWorkbook.Save
'ZielDatei suchen
strZiel = Dir("F:\DWH Programme\Makros\Budgets kopieren\Reportings\" & Left(qDatei.Name, 4) & "* _
.xl*")
If strZiel "" Then
'ZielDatei öffnen
Application.DisplayAlerts = False
Set Ziel = Workbooks.Open(zVerz & "\" & strZiel)
Application.DisplayAlerts = True
Else
'Fehlermeldung
MsgBox "die Datei ist nicht vorhanden!"
'Quelle wieder schliessen
Quelle.Sheets("4.4) ER_2J_Plg").Select
ActiveWorkbook.Close
End If
'ZielDatei Budget-Spalten einblenden
Ziel.Sheets("ER").Select
ActiveSheet.Unprotect "Kater"
Columns("D:I").Select
Selection.EntireColumn.Hidden = False
ActiveWindow.SmallScroll Down:=27
Rows("71:84").Select
Selection.EntireRow.Hidden = False
Rows("73:77").Select
Selection.EntireRow.Hidden = True
ActiveWindow.SmallScroll Down:=-6
Rows("95:111").Select
Selection.EntireRow.Hidden = False
'ZielDatei Werte einfügen
Ziel.Sheets("ER").Select
Columns("G:H").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
'ZielDatei Formeln in Spalten G + H wieder einsetzen
Sheets("ER").Activate
Range("G4").FormulaLocal = "=WENN(Lieferschein!$A$4=1;(SVERWEIS($N$4;Code!$A$101:$G$169;2));( _
SVERWEIS($N$4;Code!$A$101:$G$169;5)))"
'Range("G5").FormulaLocal = "=WENN(Lieferschein!G11="Q2";(MONATSENDE(Lieferschein!H11;6)+365);( _
WENN(Lieferschein!G11="Q3";(MONATSENDE(Lieferschein!H11;3)+365);(WENN(Lieferschein!G11="Q4";Lieferschein!H11+365;" ")))))"
Range("G14").FormulaLocal = "=SUMME(G10:G13)"
Range("G21").FormulaLocal = "=SUMME(G17:G20)"
Range("G33").FormulaLocal = "=SUMME(G26:G27;G30:G32)"
Range("G38").FormulaLocal = "=SUMME(G36:G37)"
Range("G40").FormulaLocal = "=G14+G21+G23+G33+G38"
Range("G44").FormulaLocal = "=G40"
Range("G47").FormulaLocal = "=G44+(SUMME(G45:G46))"
Range("G52").FormulaLocal = "=G47+(SUMME(G48:G50))"
Range("G57").FormulaLocal = "=G52"
'Range("G58").FormulaLocal = "=WENN(Lieferschein!$G$11="Q4";ER!D71;(WENN(Lieferschein!$G$11="Q3" _
;ER!F71;"")))"
Range("G59").FormulaLocal = "=SUMME(G57:G58)"
Range("G71").FormulaLocal = "=G59+(SUMME(G62:G65;G67:G69))"
Range("G78").FormulaLocal = "=WENN(Lieferschein!$A$4=1;(SVERWEIS($N$4;Code!$A$101:$G$169;2));( _
SVERWEIS($N$4;Code!$A$101:$G$169;5)))"
'Range("G79").FormulaLocal = "=WENN(Lieferschein!G11="Q2";(MONATSENDE(Lieferschein!H11;6)+365);( _
WENN(Lieferschein!G11="Q3";(MONATSENDE(Lieferschein!H11;3)+365);(WENN(Lieferschein!G11="Q4";Lieferschein!H11+365;" ")))))"
Range("G95").FormulaLocal = "=WENN(Lieferschein!$A$4=1;(SVERWEIS($N$4;Code!$A$101:$G$169;2));( _
SVERWEIS($N$4;Code!$A$101:$G$169;5)))"
'Range("G96").FormulaLocal = "=WENN(Lieferschein!G11="Q2";(MONATSENDE(Lieferschein!H11;6)+365);( _
WENN(Lieferschein!G11="Q3";(MONATSENDE(Lieferschein!H11;3)+365);(WENN(Lieferschein!G11="Q4";Lieferschein!H11+365;" ")))))"
Range("G98").FormulaLocal = "=D104"
Range("G104").FormulaLocal = "=SUMME(G98:G103)"
Range("H4").FormulaLocal = "=WENN(Lieferschein!$A$4=1;(SVERWEIS($N$4;Code!$A$101:$G$169;2));( _
SVERWEIS($N$4;Code!$A$101:$G$169;5)))"
'Range("H5").FormulaLocal = "=WENN(Lieferschein!G11="Q2";(MONATSENDE(Lieferschein!H11;6)+730);( _
WENN(Lieferschein!G11="Q3";(MONATSENDE(Lieferschein!H11;3)+730);(WENN(Lieferschein!G11="Q4";Lieferschein!H11+730;" ")))))"
Range("H14").FormulaLocal = "=SUMME(H10:H13)"
Range("H21").FormulaLocal = "=SUMME(H17:H20)"
Range("H33").FormulaLocal = "=SUMME(H26:H27;H30:H32)"
Range("H38").FormulaLocal = "=SUMME(H36:H37)"
Range("H40").FormulaLocal = "=H14+H21+H23+H33+H38"
Range("H44").FormulaLocal = "=H40"
Range("H47").FormulaLocal = "=H44+(SUMME(H45:H46))"
Range("H52").FormulaLocal = "=H47+(SUMME(H48:H50))"
Range("H57").FormulaLocal = "=H52"
Range("H58").FormulaLocal = "=G71"
Range("H59").FormulaLocal = "=SUMME(H57:H58)"
Range("H71").FormulaLocal = "=H59+(SUMME(H62:H65;H67:H69))"
Range("H78").FormulaLocal = "=WENN(Lieferschein!$A$4=1;(SVERWEIS($N$4;Code!$A$101:$G$169;2));( _
SVERWEIS($N$4;Code!$A$101:$G$169;5)))"
'Range("H79").FormulaLocal = "=WENN(Lieferschein!G11="Q2";(MONATSENDE(Lieferschein!H11;6)+730);( _
WENN(Lieferschein!G11="Q3";(MONATSENDE(Lieferschein!H11;3)+730);(WENN(Lieferschein!G11="Q4";Lieferschein!H11+730;" ")))))"
Range("H95").FormulaLocal = "=WENN(Lieferschein!$A$4=1;(SVERWEIS($N$4;Code!$A$101:$G$169;2));( _
SVERWEIS($N$4;Code!$A$101:$G$169;5)))"
'Range("H96").FormulaLocal = "=WENN(Lieferschein!G11="Q2";(MONATSENDE(Lieferschein!H11;6)+730);( _
WENN(Lieferschein!G11="Q3";(MONATSENDE(Lieferschein!H11;3)+730);(WENN(Lieferschein!G11="Q4";Lieferschein!H11+730;" ")))))"
Range("H98").FormulaLocal = "=G104"
Range("H104").FormulaLocal = "=SUMME(H98:H103)"
'ZielDatei Blatt "ER" auf 2 Seiten anpassen
Sheets("ER").Select
ActiveWindow.View = xlPageBreakPreview
ActiveSheet.ResetAllPageBreaks
ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
Set ActiveSheet.HPageBreaks(1).Location = Range("A71")
ActiveWindow.View = xlNormalView
ActiveWindow.Zoom = 120
'ZielDatei speichern + schliessen
Sheets("Lieferschein").Select
ActiveWorkbook.Save
ActiveWorkbook.Close
Next qDatei
End Sub
Herzliche Grüssecoko