Laufzeitfehler 1004 bei PasteSpecial
21.10.2014 14:23:50
Colin
vor zwei Tagen habe ich mit VBA-Programmierung angefangen und einiges läuft auch bereits, ich bekomme jedoche eine Fehlermeldung nicht raus. Der folgende Code soll 31 Zellen ("D1:D31") von dem Reiter "Dropdown" einer Datei (quelle) in den Reiter "Dropdown" einer anderen Datei (ziel) an diesselbe Stelle ("D1:D31") kopieren. Dabei soll er wie üblich die Quell-Datei im Hintergrund öffnen, den Reiter sichtbar machen, Schreibschutz raus und alles am Ende wieder rein.
Der Code geht auch immer ein mal; jedoch, sobald er durchgeführt ist und nochmal durchgeführ wird, gibt es einen Laufzeitfehler 1004, der sagt, dass die PasteSpecial-Methode auf dem Range-Objekt nicht ausgeführt werden kann. Wenn ich die Option Exclicit aktiviere, schlägt sie auch an, sag mir aber nocht, wo.
Bitte helft mir, ich verzweifle daran!
Sub LK_BF_aktualisieren()
'Option Explicit
Dim i As Integer, k As Integer, quelle As String, quellenname As String, zielname As String
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
zielname = ThisWorkbook.Name
quelle = fs.GetParentFolderName(ThisWorkbook.Path) & "\WVT-DVT-Tracking_Übersicht.xlsm"
Application.ScreenUpdating = False
'Funktionierender Ent-formatierungs-Code (fehlt hier)
Workbooks.Open Filename:=quelle
quellenname = ActiveWorkbook.Name
Sheets("Dropdown").Visible = True 'Target-file (no enabling needed as the file is not saved)
Sheets("Dropdown").Select
ActiveSheet.Unprotect "0815"
Range("D1:D31").Select
Selection.Copy
Windows(zielname).Activate
Sheets("Dropdown").Visible = True 'Source-file
Sheets("Dropdown").Select
ActiveSheet.Unprotect "0815"
Range("D1:D31").Select
Selection.PasteSpecial Paste:=xlPasteValues
Range("D32").Select
k = Range("D32").Value 'Anzahl BF für Schleife
ActiveSheet.Protect "0815"
Sheets("Dropdown").Visible = xlVeryHidden 'Source-file
Workbooks(quellenname).Close SaveChanges:=False
'Funktionierender Re-formatierungs-Code (fehlt hier)
ActiveSheet.Protect "0815"
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
Danke! :)