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

intelligente Tabelle kopieren

intelligente Tabelle kopieren
13.10.2020 10:39:42
Georg
Hallo zusammen,
ich hab mal wieder ein "banales" Thema, an dem ich aber verzweifele und auch irgendwie keine Lösung im Forum finde.
Ich will eine intelligente Tabelle ("TabQuelle") kopieren und eine bestehende intelligente Tabelle ("TabZiel", beginnt in Zelle J1) damit überschreiben. Das ist erstmal einfach: Range("TabQuelle[#All]").Copy Range("J1")
Die QuellTabelle kann aber immer mal Spalten und Zeilen dazubekommen, die dann entsprechend zu übernehmen sind. Auch das geht damit.
Die Zieltabelle hat aber dann einen anderen Namen!! Und daran breche ich mit die Finger. Wie benenne ich Sie um, wenn die Zeilen und Spalten flexibel sein müssen?
Viiiielen Dank für Eure Hilfe!!
Gruß Georg
https://www.herber.de/bbs/user/140850.xlsm

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: intelligente Tabelle kopieren
13.10.2020 10:54:37
ralf_b
ActiveWorkbook.Names("tabx").Name = "huhu"
klappt nicht
13.10.2020 11:01:18
Georg
Hallo Ralf,
danke, aber das klappt leider nicht, da die neue Tabelle (bei Dir: "tabx") immer andere Namen hat und ich mich nicht darauf beziehen kann.
AW: klappt nicht
13.10.2020 11:08:17
ralf_b
naja vielleicht ist dein Vorgehen mit diesem Drüberkopieren auch nicht ganz der richtige Weg.
Aus deinem Post geht hervor das du weist wie die Zieltabelle heisst.
Ich schätze du arbeitest da auf Zelladressbasis und nicht mit dem Listobject. Die intelligente Tabelle ist dieses Listobject. Mit deren Elementen läßt sich auch Einiges anstellen.
?
13.10.2020 11:10:51
Georg
Ich hab die Datei eingehängt. Da siehst Du meine mickrigen Versuche. Wie muss es denn richtig sein?
Anzeige
guckst du
13.10.2020 11:27:44
ralf_b
befehl einzeilig anwenden. Das Forenfenster bricht die Zeile um
ActiveSheet.ListObjects("TabQuelle").DataBodyRange.Copy ActiveSheet.ListObjects("TabZiel").DataBodyRange
fast...
13.10.2020 11:35:48
Georg
Das ist schon sehr nah dran, was ich brauche. Daten werden übertragen und der Tabellenname bleibt. Aber leider nimmt er mir die Überschriften von neuen Spalten nicht mit..
AW: intelligente Tabelle kopieren
13.10.2020 11:05:54
Georg
Die grundlegende Frage ist für mich: wie kopiere ich die Daten von einer int. Tabelle in eine andere int. Tabelle bei flexiblen Zeilen und Spalten, aber gegebenem Namen der Zieltabelle.
Geht doch sicher irgendwie..
AW: intelligente Tabelle kopieren
13.10.2020 11:34:54
Rudi
Hallo,
With Sheets("Tabelle1")
.Range("TabQuelle[#All]").Copy .Range(.ListObjects(2).Name).Cells(1).Offset(-1)
End With

Gruß
Rudi
Anzeige
bingo - aber noch eine Frage
13.10.2020 11:48:35
Georg
Klasse, Rudi, vielen Dank. Das läuft in der Testdatei wie es soll. Ich werde es mal in meine Arbeitsdatei übernehmen und hoffen, dass es auch dort funzt.
Nur verstehe ich es leider nicht wirklich.
Was bedeutet: .Range(.ListObjects(2).Name).Cells(1).Offset(-1) ?
Wieso "Listobjects(2).Name", was macht "Cells" hier und warum am Schluss noch das "Offset"?
Danke für die zusätzliche Erleuchtung!
Gruß Georg
AW: bingo - aber noch eine Frage
13.10.2020 11:58:09
Rudi
Hallo,
deine 'intelligenten' Tabellen sind ListObjects. Listobjects(2).Name gibt eben den Namen der 2. Tabelle (TabZiel) wieder. Der Name bezieht sich aber auf J2:O9.
Range(Listobjects(2).Name)--&gt Range("TabZiel")--&gt Range("J2:O9")
Range("J2:O9").Cells(1)--&gt J2
J2.Offset(-1)--&gt J1
Gruß
Rudi
Anzeige
KLASSE!
13.10.2020 12:02:35
Georg
ok, hab`s begriffen (so mir möglich).
Vielen Dank Rudi!!!!
AW: KLASSE!
13.10.2020 13:09:14
Georg
Hallo Rudi,
jetzt doch noch eine Frage: ich muss die Daten von einer Datei zu einer anderen schaufeln. Zur Vereinfachung hatte ich das in dem o.a. Muster nicht eingebaut und dachte, dass ich das schon hin bekomme. Ich scheitere aber schon daran, die Daten von einem Register zum andern innerhalb einer Datei zu schieben, da Excel einen unzulässigen oder nicht ausreichend definierten Bereich anmeckert und den Code ".ListObjects" markiert.
Ich hab die Zieltabelle in das Register "Tabelle3" geschoben und das Makro ff. geändert:
Sub Makro5()
Sheets("Tabelle3").Columns("N:Q").ClearContents
Sheets("Tabelle3").Range("J5:L16").ClearContents
Sheets("Tabelle1").Range("TabQuelle[#All]").Copy
Sheets("Tabelle3").Range(.ListObjects(2).Name).Cells(1).Offset (-1)
End Sub
:-((
Gruß Georg
https://www.herber.de/bbs/user/140859.xlsm
Anzeige
gefunden
13.10.2020 14:05:55
Georg
Ich hab es jetzt so gelöst:
Sub Copy()
Sheets("Tabelle1").ListObjects("TabQuelle").Range.Copy
Sheets("Tabelle3").ListObjects("TabZiel").Range.PasteSpecial Paste:=xlPasteValues
End Sub

Eigentlich ganz einfach... :-)

80 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige