3.9k Aufrufe
Gefragt in Tabellenkalkulation von tomschi Mitglied (879 Punkte)
Hi!

Ich verzweifle schön langsam.
Ein Text soll auf die Blätter Jänner bis Dezember kopiert werden.
Leider wird der Mustertext immer nur auf dem Blatt "Jänner" eingefügt.

Sub Mustertextkopie()
Application.ScreenUpdating = False
Sheets("Jänner").Range("Mustertexte").Copy
Sheets("Jänner").Select
Sheets(Array("Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember")).Select
Sheets("Jänner").Activate
Range("C2").Select
ActiveSheet.Paste
End sub

Was mache ich dabei falsch?

Ciao

Tom

12 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Tom,

ich hätte wohl auf selexct verzichtet. Ungetestet.

Option Explicit

Sub Mustertextkopie()
Application.ScreenUpdating = False
Sheets("Jänner").Range("Mustertexte").Copy Sheets(Array("Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember")).Range("C2")
Application.ScreenUpdating = True
End Sub


Gruß Hajo
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Hallo Hajo!

Danke für Deine Hilfe.
Beim Starten des Makros bekomme ich leide eine Fehlermeldung:

Laufzeitfehler '438':
Objekt unterstützt diese Eigenschaft oder Methode nicht.

Was genau stimmt da nicht?

Tom
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Tom,

dazu kann ich nichts schreiben. Ich baue kkeine Datei nach und ohne Datei kann ich dies nicht testen.
Die Zeit zur Erstellung hast Du schon investiert.

Gruß hajo
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

In meinen Augen wirst Du um eine Schleife ueber alle ZielWorksheets nicht umhin kommen.
Dies koennte z.B. aussehen wie folgt:

Sub Mustertextkopie()
Dim wks As Worksheet
Application.ScreenUpdating = False
Sheets("Jänner").Range("Mustertexte").Copy
For Each wks In Sheets(Array("Jänner", "Februar", "März", "April", "Mai", "Juni", _
"Juli", "August", "September", "Oktober", "November", "Dezember"))
wks.Range("C2").PasteSpecial xlPasteAll
Next wks
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Cu
TheBlackBird ®
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Tom,

bei mir kam die gleiche Fehlermeldung und habe deshalb eine etwas umständliche Lösung gewählt, aber sie funktioniert

[code]Option Explicit

Sub Mustertextkopie()
Dim sngI As Single
Application.ScreenUpdating = False
Sheets("Jänner").Range("Mustertexte").Copy
For sngI = 1 To Worksheets.Count
Worksheets(sngI).Select
Range("C2").Select
ActiveSheet.Paste
Next
Application.ScreenUpdating = True
End Sub

TheBlackBird war zwar schneller uns sein Vorschlag eleganter, aber da ich den Code geschrieben habe will ich ihn Dir auch nicht vorenthalten,

Gruß
Rainer
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
Hallo zusammen!

An alle: DANKE, für die Unterstützung!

@Hajo:
Unter www.fileuploadx.de/146706 habe ich wie gewünscht meine Musterdatei abgelegt.

Ciao

Tom
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

z.b.
Range("C7").Copy
Sheets(Array("Tabelle2", "Tabelle3")).Select
Range("C11").Select
ActiveSheet.Paste


gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

bin auch nicht sooo der fan von selectionen :-))

aber das ist nun ein paradebeispiel einer seltenen notwendigen selection *g*

zumindestens fuer exel 2000 *hihi* und wie es scheint auch fuer einige andere varianten !

hier ist die range selection untergeordnet und daher euer fehler

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi ^^

die meisten bekommen uebrigens eine 6 problemumgehung ist keine probelembehebung *hihi*

gruss nighty
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo nighty,

auch Dein Code aus AW7 funktioniert nicht. (Excel 2010)

Habe mal Hajo's Code nach diesem Muster verändert und in Tom's Mappe getestet.

Ergebnis:
Der Code läuft, aber das Paste wird nur im Arbeitsblatt "Jänner" ausgeführt.

So sieht der Code aus.

Option Explicit

Sub Mustertextkopie()
Application.ScreenUpdating = False
Sheets("Jänner").Range("Mustertexte").Copy
Sheets(Array("Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")).Select
Range("C2").Select
ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub


Gruß
Rainer
...