Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler 1004 bei PasteSpecial

Laufzeitfehler 1004 bei PasteSpecial
21.10.2014 14:23:50
Colin
Hey ihr VBA-Experten,
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! :)

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004 bei PasteSpecial
21.10.2014 15:05:53
Hajo_Zi
Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Option Explicit
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
Sheets("Dropdown").Visible = True 'Target-file (no enabling needed as the file is not saved) _
Sheets("Dropdown").Unprotect "0815"
With Workbooks(zielname).Sheets("Dropdown")
Range("D1:D31").Copy
.Visible = True 'Source-file
.Unprotect "0815"
.Range("D1:D31").PasteSpecial Paste:=xlPasteValues
k = Range("D32").Value 'Anzahl BF für Schleife
.Protect "0815"
.Visible = xlVeryHidden 'Source-file
ActiveWorkbook.Close SaveChanges:=False
End With
'Funktionierender Re-formatierungs-Code (fehlt hier)
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

Anzeige
AW: Laufzeitfehler 1004 bei PasteSpecial
21.10.2014 18:41:02
Colin
Leider ist das Problem auch bei dem Code dasselbe; beim 2. Mal kommt der Fehler...

AW: Laufzeitfehler 1004 bei PasteSpecial
22.10.2014 10:47:10
UweD
Hallo
ich hab es mal umgebaut...
die beiden .visible= xx können sogar noch weggelassen werden
Sub LK_BF_aktualisieren()
Dim k As Integer, Quelle As String
Dim WBQ
Quelle = ThisWorkbook.Path & "\WVT-DVT-Tracking_Übersicht.xlsm"
Application.ScreenUpdating = False
Workbooks.Open Filename:=Quelle
Set WBQ = ActiveWorkbook
With ThisWorkbook.Sheets("Dropdown") 'Ziel
.Visible = True
.Unprotect "0815"
WBQ.Sheets("Dropdown").Range("D1:D31").Copy
.Range("D1:D31").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
k = WBQ.Sheets("Dropdown").Range("D32").Value 'Anzahl BF für Schleife
.Protect "0815"
.Visible = xlVeryHidden
WBQ.Close SaveChanges:=False
End With
Application.ScreenUpdating = True
End Sub
Gruß UweD

Anzeige
AW: Laufzeitfehler 1004 bei PasteSpecial
22.10.2014 11:59:11
Colin
Danke, so geht es! :)))
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige