Anzeige
Archiv - Navigation
1340to1344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 1004 - PasteSpecial-Methode

Laufzeitfehler 1004 - PasteSpecial-Methode
30.11.2013 17:16:56
Thomas
Schönen guten Tag!
Ich bastle mir gerade ein Makro mit dem ich ausgefüllte Sheets in eine Datei zusammenkopiere. Es funktioniert bis jetzt auch alles gut (eventuell ist das Makro etwas kompliziert aufgebaut) doch hängt es jetzt am Punkt wo es die kopierten Zahlen/Text wieder als Wertkopie einfügen soll (fette Markierung unten im Code).
Es kommt der Laufzeitfehler 1004: Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden.
Weiss jemand von euch was ich da falsch mache?

Sub Zusammenfügen()
Dim wb As Workbook
Dim ws As Worksheet
Dim RG%, rgCell%
Dim Pfad As String
Dim Höhe As Byte
Dim Breite As Byte
Dim Höhe_von As Integer
Dim Höhe_bis As Integer
'Start-Variablen festlegen
rgCell = 2
RG = Sheets("Gebiete").Cells(rgCell, 3).Value
Pfad = ThisWorkbook.Path & "\" & RG & ".xls"
Breite = 11
Höhe = 6
Höhe_von = 6
Höhe_bis = 0
Do
Set wb = Workbooks.Open(Pfad) 'Datei öffnen
Do
Application.DisplayAlerts = False
If Sheets("Übersicht").Cells(Höhe, 2) > 0 Then
Höhe = Höhe + 1
End If
Loop Until Sheets("Übersicht").Cells(Höhe, 2) = 0
Höhe = Höhe - 1
Range(Cells(6, 1), Cells(Höhe, Breite)).Copy
Application.DisplayAlerts = False
wb.Close savechanges:=False 'Datei schließen
Application.DisplayAlerts = True
Höhe_bis = Höhe_bis + Höhe
Range(Cells(Höhe_von, 1), Cells(Höhe_bis, 11)).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Variablen anpassen
rgCell = rgCell + 1
RG = Sheets("Gebiete").Cells(rgCell, 3).Value
Pfad = ThisWorkbook.Path & "\" & RG & ".xls"
MsgBox (Pfad)
Höhe = 6
Loop Until RG = 694 'bis Region 694
End Sub
Vielen Dank!
Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004 - PasteSpecial-Methode
30.11.2013 17:50:07
Hajo_Zi
Hallo Thomas,
vielleicht solltest Du die Datei nach dem einfügen schließen?

AW: Laufzeitfehler 1004 - PasteSpecial-Methode
30.11.2013 22:45:48
Thomas
Grüß dich Hajo!
Wie meinst du das genau?
Die geöffnete Datei wird mit dem Befehl
wb.Close savechanges:=False 'Datei schließen
geschlossen und erst danach werden die Daten in der Zieldatei eingefügt (sind ja im Zwischenspeicher).
Wenn ich den Code händisch durchgehe sind die zu kopierenden Daten ja auch da und ich kann mit strg+v ganz normal einfügen... nur der Code macht das komischerweise nicht.

Anzeige
AW: Laufzeitfehler 1004 - PasteSpecial-Methode
30.11.2013 19:21:48
Ralf
Hallo,
du darfst die Datei erst schließen, nachdem du die Daten eingefügt hast.
Gruß
Ralf P.

AW: Laufzeitfehler 1004 - PasteSpecial-Methode
30.11.2013 22:51:21
Thomas
ach ok - so rum geht es.
... weiss wer von euch wieso diese Reihenfolge eingehalten werden muss? Die Daten sind ja sowieso in der Zwischenablage.
Vielen Dank für eure Hilfe!
lg
Thomas

AW: Laufzeitfehler 1004 - PasteSpecial-Methode
30.11.2013 23:56:06
Ralf
ich vermute mal, dass die zwischenablage nur ein wert jeder zelle enthält.
wenn du nun pastespecial benutzt, kannst ja wählen, was eingefügt werden soll.
dazu kommt, dass eine abfrage kommt, wenn du einen größeren bereich aus excel kopierst und die datei schließen willst "sollen die daten in der zwischenablage beibehalten werden?" o.ä.
da du die fehlermeldungen unterdrückst, kann es sein, dass der standardwert "nein" gewählt wird
das alles kannst durch rumprobieren rausbekommen.
gruß
Ralf
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige