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

VBA Tabelle kopieren von Zeile bis Zeile

VBA Tabelle kopieren von Zeile bis Zeile
11.01.2016 11:34:17
Zeile
Hallo.
Ich bin absoluter Neuling auf dem Gebiet Makros und VBA.
Ich möchte gerne mittels Makro Werte aus Tabelle1 in Tabelle2 kopieren.
Es sollen alle Spalten einer Zeile übernommen werden. In Tabelle1 beginnen die Werte in Zeile 2 und diese sollen auch in die zweite Zeile in Tabelle2 geschrieben werden.
Ich habe hierzu zb folgenden Code ausprobiert:
Worksheets("Tabelle1").Range("A2:A10").EntireRow.Copy Destination:=Worksheets("Tabelle2").Range("A2")
Jetzt werden also die Zeilen A2 bis A10 aus Tabelle1 in Tabelle2 ab A2 kopiert.
Jetzt wird es für mich aber zu kompliziert:
Ich möchte die zu kopierende Range in Tabelle1 anders befüllen. In Tabelle3 der selben Arbeitsmappe habe ich mit einer "Nebenrechnung" ermittelt von welcher Zeile bis zu welcher Zeile ich die Daten aus Tabelle1 kopiert haben möchte.
So steht in Tabelle3 in Zelle I2 der Wert 677 und in Zelle I3 der Wert 3253.
Diese Werte sind also meine Grenzen. Aus Tabelle1 sollen also alle Zeilen von 677 bis 3252 kopiert werden.
Und diese Grenzen können sich immer ändern.
Ich frage mich also, wie ein Makro aussehen muss, in das die Zellen I2 und I3 aus Tabelle3 quasi als "Zeilenquelle" eingebaut sind.
ich würde mich über Vorschläge sehr freuen und sage jetzt schon mal Danke.
Gruß
Sebke

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabelle kopieren von Zeile bis Zeile
11.01.2016 12:02:49
Zeile
In Excel würde ich sowas mit der INDEX Formel lösen. Aber es soll am Ende das Makro mit einer Schaltfläche verknüpft werden, die dann das Makro ausführt.

AW: VBA Tabelle kopieren von Zeile bis Zeile
11.01.2016 12:50:23
Zeile
Hallo Sebke,
so vielleicht:
Option Explicit
Sub Kopieren()
Dim Beginn As Long
Dim Ende As Long
Beginn = Worksheets("Tabelle3").Range("I2")
Ende = Worksheets("Tabelle3").Range("I3")
Worksheets("Tabelle1").Range("A" & Beginn & ":A" & Ende).EntireRow.Copy Destination:= _
Worksheets("Tabelle2").Range("A2")
End Sub
Servus, Walter

AW: VBA Tabelle kopieren von Zeile bis Zeile
11.01.2016 14:00:17
Zeile
Hallo Walter. Vielen Dank!
Ich habe es mir kurz vorher so zusammengeschustert:
Public Sub kopieren()
Dim x As Long
Dim y As Long
x = Worksheets("Tabelle3").Cells.Item(2, "I")
y = Worksheets("Tabelle3").Cells.Item(3, "I")
Worksheets("Tabelle1").Range("A" & x & ":A" & y).EntireRow.Copy Destination:=Worksheets(" _
Tabelle2").Range("A2")
End Sub
hatte bei mir erst nicht geklappt in meiner Datei, in der das Makro zum Einsatz kommen sollte. Hatte da immer Laufzeitfehler 9. Hab dann deinen code genommen in einer Testdatei. Läuft :-)
dann meinen Code auch nochmal in der Testdatei laufen lassen. Ging auch. Bis ich dann auf die Idee gekommen bin, dass die Arbeitsblätter in meiner Hauptdatei ganz andere Namen haben, ist noch etwas Zeit ins Land gezogen ;-)
Hab jetzt beide Codes angepasst und siehe da: Alles funktioniert bestens. Vielen Dank nochmal.
Jetzt dauert das Kopieren nur noch wenige Sekunden.
Vorher hatte ich nämlich die gewünschten Zeilen alle über eine Nebenrechnung in Excel mit einem x markiert und dann mit diesem Code kopiert:
Public Sub Zeilen2()
Dim i As Long
Dim cell As Range
Application.Calculation = xlCalculationManual
i = 2
For Each cell In Tabelle1.Range("AF:AF")
If Not cell Is Nothing Then
If cell.Value = "x" Then
cell.EntireRow.Copy Destination:=Tabelle2.Rows(i)
i = i + 1
End If
End If
Next cell
Application.Calculation = xlCalculationAutomatic
End Sub
Da ist Excel schon fast an seine Grenzen gestoßen und meine Geduld für die Berechnung schon längst ;-)
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige