HERBERS Excel-Forum - das Archiv
Bestimmte Zellen auf andere Arbeitsblätter kopieren
thiago1
Hallo,

ich möchte die Inhalte (Text) von bestimmten Zellen aus einer Spalte z.B. Quelle!B6:B in andere Arbeitsblätter z.B. Ziel!B6:B kopieren.
Das Problem liegt darin, dass sich die Daten aus der Quelle erweitern und somit die Zellenanzahl in der Spalte B variiert. Die Inhalte sollen von Zeile 6 bis zum Ende der letzten Zelle mit Inhalt übertragen werden. Wie realisiere ich eine automatische Übertragung der Inhalte, wenn das Ziel-Arbeitsblatt bereits eine dynamische Tabelle ist und die Quelle nicht?
Hat jemand eine Idee?

Danke im Voraus.
AW: Bestimmte Zellen auf andere Arbeitsblätter kopieren
ralf_b
ist das Problem nun die letzte belegte Zelle zu ermitteln oder wie die Daten in die intelligente Tabelle kommen?
AW: Bestimmte Zellen auf andere Arbeitsblätter kopieren
thiago1
Hi Ralf,

beides. Wie kommen die Daten bis zur letzten belegten Zelle in die dynamische Tabelle? Die Anzahl der Daten die übertragen werden sollen, sind immer unterschiedlich und abhängig von der Spalte B. Die Daten beginnen ab B6 und das Ende soll variabel sein.
AW: Bestimmte Zellen auf andere Arbeitsblätter kopieren
ralf_b
und sollen die Daten ,die schon in die Zieltabelle übertragen wurden, ein weiteres Mal kopiert werden wenn sich die Daten in der Quelle ändern?
AW: Bestimmte Zellen auf andere Arbeitsblätter kopieren
thiago1
Nein die Daten sollen nur einmal in die Zieltabelle übertragen werden, wenn sich die Daten ändern. Wenn neue Daten hinzukommen, sollen die neuen Daten entsprechend zu den bereits vorhandenen Daten hinzugefügt werden bzw. man kopiert die gesamten Daten noch einmal neu in die Zieldatei.
AW: Bestimmte Zellen auf andere Arbeitsblätter kopieren
ralf_b
ungetestet und sehr allgemeingehalten
Sub kopiereTab()


Dim lstobj As ListObject
Dim lrow&
Dim rng As Range

Set lstobj = Worksheets("nameZieltabellenblatt").ListObjects(1)

With Worksheets("nameQuelltabellenblatt")
Set rng = .Range("A1").CurrentRegion '1. zelle in der Quelltabelle
Set rng = rng.Offset(1).Resize(rng.Rows.Count - 1, rng.Columns.Count)
lstobj.DataBodyRange.Delete
rng.Copy lstobj.DataBodyRange.Range(1)
End With
End Sub
AW: Bestimmte Zellen auf andere Arbeitsblätter kopieren
thiago1
Hallo ralf_b,

danke für die Mühe. Ich habe die entsprechenden Bezeichnungen angepasst aber leider funktioniert das Makro nicht.
AW: Bestimmte Zellen auf andere Arbeitsblätter kopieren
ralf_b
hier eine Modifikation, ich schrieb ja "ungetestet"
 If Not lstobj.DataBodyRange Is Nothing Then lstobj.DataBodyRange.Delete

rng.Copy lstobj.InsertRowRange(1)