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

Automatisches Einfügen in andere Tabelle

Automatisches Einfügen in andere Tabelle
27.06.2016 15:55:34
David
Hallo zusammen,
ich möchte die Daten aus einem Tabellenblatt in die Tabelle in einem anderen Tabellenblatt übernehmen. Soweit klappt das ganze auch, allerdings werden die Datensätze 56 Zeilen zu tief eingefügt. Die dazwischenliegenden Zeilen sind komplett leer! Ich bin daher etwas ratlos...
Mein Code lautet:
Sub KopiereBereich()
Dim Quelltab As Worksheet
Dim Zieltab As Worksheet
Dim Zelle As Range
Dim lngZiel As Long
Dim Zaehler As Long
Zaehler = 1
Bereich = "B5:AJ1000"
Set Quelltab = ActiveWorkbook.Worksheets("Tabelle1")
Set Zieltab = ActiveWorkbook.Worksheets("Tabelle2")
With Zieltab
lngZiel = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
Quelltab.Range("B5:AJ200").Copy
.Range("B6" & lngZiel).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
End Sub

Anstatt also in B8 in der zweiten Tabelle mit dem Einfügen zu beginnen, wird in B64 eingefügt.
Ich würde mich riesig über eine kurze Hilfe freuen! VBA scheint noch nicht so meine Stärke zu sein.
LG,
David

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches Einfügen in andere Tabelle
27.06.2016 16:02:21
UweD
.Range("B6" & lngZiel)
die 6 scheint zu viel zu sein.
LG UweD

AW: Automatisches Einfügen in andere Tabelle
27.06.2016 17:09:00
David
Wenn ich die 6 entferne komme ich leider zum gleichen Ergebnis, aber danke schon einmal für die Mühe!

AW: Automatisches Einfügen in andere Tabelle
28.06.2016 02:59:38
Werner
Hallo David,
selbstverständlich ist die 6 zuviel, wie Uwe schon angemerkt hat.
Mit

lngZiel = .Cells(.Rows.Count, 2).End(xlUp).Row + 1

ermittelst du die letzte beschriebene Zeile in Spalte B des Zielblattes und addierst 1 dazu.
Annahme im Zielblatt ist die letzte beschriebene Zeile in Spalte B die Zelle B2, dann hat deine Variable lngZiel den Wert 3 (letzte beschriebene Zeile = 2 + 1 =3).
Hier

.Range("B6" & lngZiel)

kopierst du dann in B6 & lngZiel, wäre in diesem Fall B6 + 3 = B63
Aber mir ist letztlich nicht ganz klar was du eigentlich willst, vor allem wohin willst du kopieren?
Weiterhin hast du im Code Variablen, die nicht Dimensioniert wurden bzw. Variablen, die gar nicht benutzt werden.
Sub KopiereBereich()
Dim Quelltab As Worksheet
Dim Zieltab As Worksheet
Dim Zelle As Range
Dim lngZiel As Long
Dim Zaehler As Long 'Dimensonierte Variable, wird aber nirgends verwendet
Zaehler = 1 'Wert zugewiesen, wird aber nirgends verwendet
Bereich = "B5:AJ1000" nicht Dimensioniert, wird auch nirgends verwendet
Set Quelltab = ActiveWorkbook.Worksheets("Tabelle1")
Set Zieltab = ActiveWorkbook.Worksheets("Tabelle2")
With Zieltab
lngZiel = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
Quelltab.Range("B5:AJ200").Copy
.Range("B6" & lngZiel).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
End Sub
Gruß Werner
Anzeige

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige