PDA

Vollständige Version anzeigen : Laufzeitfehler 1004 bei Paste-Methode


RushCabal
29.06.2014, 13:59
Hallo

ich verzweifle an meinem kleinen Programm.
Ich möchte, dass mehrere user gleichzeitig in einer Datei arbeiten.

Idee:
Ich öffne eine Datei schreibgeschützt die eine Kopie der eigentlichen Datei ist.
Beim Öffnen der Schreibschutzdatei sollen die Werte aus der Originaldatei auslesen kopieren und einfügen.
So bleibt die Kopie auch immer auf dem neusten Stand.

Jedoch Bekomme ich manchmal (also nicht immer) einen Laufzeitfehler 1004

mein Quellcode schaut wie folgt aus:


Private Sub workbook_open()

Workbooks.Open Filename:= _
"\\C:\Users\P-Schlepptop\Desktop\Kopie von Projekt_Anlegen1.16_C - Kopie.xlsm"

ActiveWorkbook.RefreshAll

Range("A5:Z1500").Select
Selection.Copy

Workbooks("Projekt_Anlegen1.17.xlsm").Activate
Worksheets("Umzugsliste").Activate
Sheets("Umzugsliste").Unprotect
Range("A5").Select
ActiveSheet.Paste <-- hier ist der Fehler laut Meldung
Application.CutCopyMode = False
Sheets("Umzugsliste").Protect

Workbooks("Kopie von Projekt_Anlegen1.16_C - Kopie.xlsm").Activate
ActiveWorkbook.Save
ActiveWorkbook.Close savechanges:=True

usr.Show

Range("A1").Select

End Sub



Danke schonmal vorab

Hajo_Zi
29.06.2014, 14:03
vielleicht solltest Du auch eine Zelle angeben?

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

RushCabal
29.06.2014, 14:49
Die Zelle wurde doch mit: Range("A5").Select ausgewählt
wenn ich das makro "per hand" starte funktioniert auch alles tadellos
nur beim öffnen der datei(wenn das makro aufgerufen wird) bekomme ich die fehlermeldung

das ist es, was ich nicht verstehe...

Hajo_Zi
29.06.2014, 14:51
dann sehe ich das wohl Falsch das bei ActiveSheet.Paste keine Zelle angegeben ist.

<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

RushCabal
29.06.2014, 14:54
ich hatte zwischenzeitlich auch den Befehl:
Range("A5").PasteSpecial Paste:=xlPasteValues

genutzt.
Das Ergebnis blieb das selbe.
Per Hand alles tadellos - beim öffnen der Datei bekomme ich den Fehler herausgeschrieben

Hajo_Zi
29.06.2014, 15:03
der Befehl ist richtig, ich benutze
Columns("B:C").PasteSpecial Paste:=xlValues
also muss der Fehler woanders liegen.

<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

RushCabal
29.06.2014, 17:50
habt ihr erfahrungen, warum ein makro nur manchmal ausgeführt werden kann?
speziell wenn es "per hand" funktioniert aber nicht selbst abläuft?

RushCabal
29.06.2014, 21:48
Sry, dass ich nochmal einen Comment schreibe aber ich konnte meinen alten nicht bearbeiten.

Ich habe es den ganzen lieben langen Tag versucht.
Das Makro läuft zunächst nicht.
Es kommt ein Debuggen-Fehler.
Ich klicke auf zurücksetzen (blaues Quadrat)
Danach auf Unterbrechen (Pausen-Zeichen)
und wenn ich dann wieder Play drücke - dann läuft das Makro genauso wie gewünscht.
Auch habe ich kurz mal den Paste-Befehl entfernt
Fazit:
wieder läuft das Makro ohne Probleme - es wird nur nicht eingefügt...
Es MUSS also am Paste-Befehl liegen.

Nur wieso läuft es nach dem zurücksetzen des Debuggens-Fehler
Ich werde daraus nicht schlau.
Ich verzweifel :(