Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kopieren von Zellen zwischen Excelsheets in VBA funktioniert nicht

795 views
Skip to first unread message

Thomas Grabner

unread,
Jun 4, 2003, 4:01:53 PM6/4/03
to
Hallo zusammen,

ich habe ein Makro geschrieben das ein Dokument öffnet, ein bestimmtes Sheet
auswählt
und dort einen Bereich in das zweite Dokument kopiert. Beide Worksheets
haben die
gleiche Struktur (verbundene und nicht verbundene Bereiche)

Wenn ich diese VBA Passage starte wird das Makro bei ".Paste" mit folgendem
Fehler gestoppt:
Laufzeitfehler 1004: Die Paste-Methode des Worksheet Objekts konnte nicht
ausgeführt werden

Jetzt kommt das Merkwürdige daran, nachdem ich die Fehlermeldung debugge und
wieder am
Beginn des unten angegebenen Codes fortsetze, funktioniert alles
einwandfrei, keine
Fehlermeldung und es wird tatsächlich alles richtig kopiert

Ich hoffe jemand kann mir ein Tip geben, wie ich das Problem beheben kann
bzw. kennt einen
anderen Weg wie den Bereich kopieren kann.

Danke schon mal im voraus.

mfg Thomas


Auszug aus dem Makro:

With wkbOrigin.Worksheets(intJahresStatSheet)
.Activate
.Range("A1:AK33").Select
Selection.Copy
End With

With wkbDest.Worksheets(cmbMonat.ListIndex + intJahresStatStart)
.Activate
.Unprotect
.Range("A1:AK33").Select
.Paste
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With


Thomas Ramel

unread,
Jun 5, 2003, 12:55:06 AM6/5/03
to
Grüezi Thomas

Thomas Grabner schrieb:


>
> Wenn ich diese VBA Passage starte wird das Makro bei ".Paste" mit folgendem
> Fehler gestoppt:
> Laufzeitfehler 1004: Die Paste-Methode des Worksheet Objekts konnte nicht
> ausgeführt werden
>

> Ich hoffe jemand kann mir ein Tip geben, wie ich das Problem beheben kann
> bzw. kennt einen anderen Weg wie den Bereich kopieren kann.

Versuche es mal so:

wkbOrigin.Worksheets(intJahresStatSheet).Range("A1:AK33").Copy

With wkbDest.Worksheets(cmbMonat.ListIndex + intJahresStatStart)
.Unprotect
.Range("A1").Paste


.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With

--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für Microsoft-Excel -

[Win 2000Pro SP-3 / xl2000 SP-3]

Thomas Grabner

unread,
Jun 5, 2003, 1:30:43 PM6/5/03
to
> Grüezi Thomas

Servus Thomas

> Versuche es mal so:

> wkbOrigin.Worksheets(intJahresStatSheet).Range("A1:AK33").Copy
> With wkbDest.Worksheets(cmbMonat.ListIndex + intJahresStatStart)
> .Unprotect
> .Range("A1").Paste
> .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
> End With

Leider kein Erfolg, es kommt nur zu einer anderen Fehlermeldung:
438 - Objekt unterstützt diese Eigenschaft oder Methode nicht

Vielleicht hat jemand anderes noch eine Idee?

mfg Thomas


Frank Arendt-Theilen

unread,
Jun 5, 2003, 3:00:14 PM6/5/03
to
Hallo Thomas,
startest du das Makro mit einem CommandButton im Tabellenblatt, so
ändere dessen Eigenschaft "TakeFolcusOnClick" auf False.

MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
eMail: Thei...@t-online.de, Homepage: http://www.xl-faq.de

Thomas Grabner

unread,
Jun 9, 2003, 1:19:39 PM6/9/03
to
Danke an alle die mir helfen wollten, ich habe die Lösung bereits gefunden:
Das Unprotect hebt die Kopierauswahl auf so dass die Daten nicht kopiert
werden.
Daher auch die Fehlermeldung.

mfg Thomas


"Thomas Grabner" <thomas....@chello.at> wrote in message
news:ResDa.14009$lL2.1...@news.chello.at...

0 new messages