Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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

verschiedener Bereiche in mehrere Blätter kopieren

verschiedener Bereiche in mehrere Blätter kopieren
01.08.2013 21:48:38
Matze
Hallo zusammen,
wo liegt denn nun wieder mein Gedankenfehler?
Wie kann ich denn verschiedene Bereiche einer Tabelle(zB1) in weitere Tabellen(Mehrzahl Tab2,Tab3,..)übertragen/kopieren? Dabei ist zu beachten das die Bereiche "nicht" zusammenhängend sind.
'Fehlermeldung (Laufzeitfehler 438)
'Objekt unterstützt diese Eigenschaft oder Methode nicht
Private Sub CommandButton1_Click() 'In Tabelle1
Dim rngBereich As Range
For Each rngBereich In Selection.Areas
'So klappt es nicht - warum? Wo ist hier mein Gedankenfehler?
rngBereich.Copy Worksheets(Array("Tabelle2", "Tabelle3")).Rang(rngBereich.Address)
'So gehts
'      rngBereich.Copy Worksheets("Tabelle2").Range(rngBereich.Address)
'      rngBereich.Copy Worksheets("Tabelle3").Range(rngBereich.Address)
Next rngBereich
End Sub
es funktioniert wenn ich die Tabellen einzeln anspreche, warum nicht mit dem Array?
Matze

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

Betreff
Datum
Anwender
Anzeige
AW: verschiedener Bereiche in mehrere Blätter kopieren
01.08.2013 23:34:43
Gerd
Hallo Matze,
versuche mal einen Bereich über mehrere Blätter zu selektieren. Die Range gehören zu unterschiedlichen Containern (Blättern).
Gruß Gerd

AW: verschiedener Bereiche in mehrere Blätter kopieren
02.08.2013 01:05:57
Erich
Hi Matze,
der Fehler 438 kommt wohl, weil Range.Copy Als Parameter "Destination" einen Bereich erwartet, aber keinen 3D-Bereich.
Du kannst das trotzdem in einem Rutsch über mehrere Blätter erledigen.
Probier mal:

Sub Makro1()
Dim rngBereich As Range
For Each rngBereich In Selection.Areas
rngBereich.Copy
Sheets(Array("Tabelle2", "Tabelle3")).Select
Range(rngBereich.Address).Select
ActiveSheet.Paste
Next rngBereich
Application.CutCopyMode = False
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
verschiedener Bereiche in mehrere Blätter kopieren
02.08.2013 11:52:23
Matze
Hi Ihr Beiden,
Danke für den Input.
@Erich, deine Codezeilen funzen wenn ich die in einer Sub() Modul laufen lasse.
Sobald ich die aber über einen CommandButton (Private Sub CommandButton1_Click())in der Tabelle starte kommt Laufzeitfehler 1004. Nutze ich das mit den Call Befehl greift er ja wieder auf das Modul zu und es geht. Wo liegt denn nun der Unterschied
Matze
Boah, muss ich noch viel lernen

AW: verschiedener Bereiche in mehrere Blätter kopieren
02.08.2013 16:35:14
Erich
Hi Matze,
es kommt darauf an, wo der Code

Range(rngBereich.Address).Select
ActiveSheet.Paste
steht. Steht er im (Klassen-)Modul eines Tabellenblatts, versucht VBA, einen Bereich
in diesem Blatt zu selektieren. (Range ist hier wie Me.Range oder Tabelle1.Range.)
Das gibt Waffelbruch, wenn das Blatt nicht aktiv ist. Aktiv ist hier das Blatt Tabelle2,
selektiert sind Tabelle2 und Tabelle3.
Steht der Code aber in einem ("normalen") Modul, versucht VBA, einen Bereich
im gerade ausgewählten Blatt zu selektieren - hier sind das gerade die beiden selektierten.
Sprachlich wenig naheliegend ist, dass "ActiveSheet.Paste" nicht nur ins aktive Blatt Tabelle2,
sondern in alle selektierten Blätter (auch in Tabelle3) einfügt.
Keine Rolle spielt, ob der Code per Button oder Call oder wie auch immer gestartet wird -
es kommt nur darauf an, wo er steht.
Alles klar?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Jepp. :-) Danke Erich owT
02.08.2013 18:38:06
Matze

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige