Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1664to1668
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 Zellen aus mehreren markierten Zeilen kopieren

VBA Zellen aus mehreren markierten Zeilen kopieren
11.01.2019 16:06:32
Snowman
Hallo Zusammen
Erstmal ein riesen Kompliment an Alle hier im Forum. Zu fast allen Problemen findet man hier super Lösungsansätze.
Leider habe ich zu meine Problem immer nur Teillösungen gefunden welche ich nicht zusammen kriege.
Ich habe zwei Tabellen im gleichen Sheet. "Tabelle1" und "Tabelle2".
In "Tabelle1" habe ich Zeilen 4 bis 800 (wachsend) und die Spalten A bis EN.
Nun markiere ich von Hand in "Tabelle1" beliebige Zeilen (zBsp. 10,18,19).
Von diesen markierten Zeilen (hier 10,18,19) möchte ich nun per Makro NUR die Spalten 2(B),3(C),4(D) kopieren und in "Tabelle2" in die erste leere Zeile in Spalte 10(J),11(K),12(L) einfügen.
Da ich ja 3 Zeilen in "Tabelle1" markiert habe, müssten auch in "Tabelle2" 3 Zeilen befüllt werden.
Ich hoffe Ihr wisst was ich meine
Vielen Dank euch und schönes Wochenende

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zellen aus mehreren markierten Zeilen kopieren
11.01.2019 16:11:14
Daniel
Hallo Snowman,
...um ehrlich zu sein nicht so wirklich. Hast du eine Beispieldatei zur Veranschaulichung?
Geht es um 2 Tabellen in einem Blatt oder um 2 Tabellenblätter mit je einer Tabelle?
Gruß
Daniel
AW: VBA Zellen aus mehreren markierten Zeilen kopieren
15.01.2019 09:51:29
Snowman
Hallo Daniel
Auf die schnelle leider nicht.
Ich habe 1 Excel Datei mit 2 Tabellenblätter ("Tabelle1" und "Tabelle2")
Gruss
AW: VBA Zellen aus mehreren markierten Zeilen kopieren
12.01.2019 08:45:23
hary
Moin
Meinst du es so?
Sub TesteMal()
Dim wksQ As Worksheet, wksZ As Worksheet
Dim zelle As Range, kopieren As Range
Set wksQ = Worksheets("Tabelle1") '--ggf. Blattname anpassen
Set wksZ = Worksheets("Tabelle2") '--ggf. Blattname anpassen
For Each zelle In Selection.Rows
If kopieren Is Nothing Then
Set kopieren = wksQ.Cells(zelle.Row, 2).Resize(1, 3)
Else
Set kopieren = Union(kopieren, wksQ.Cells(zelle.Row, 2).Resize(1, 3))
End If
Next
If Not kopieren Is Nothing Then
kopieren.Copy wksZ.Cells(Rows.Count, 10).End(xlUp).Offset(1, 0)
End If
Set wksQ = Nothing
Set wksZ = Nothing
Set kopieren = Nothing
End Sub

gruss hary
Anzeige
AW: VBA Zellen aus mehreren markierten Zeilen kopieren
15.01.2019 09:52:31
Snowman
Hallo Hary
Vielen Dank! Wird ich gleich mal probieren.
Gruss
AW: VBA Zellen aus mehreren markierten Zeilen kopieren
15.01.2019 16:53:17
Snowman
Hallo Hary
Ich hab's getestet. Klappt wunderbar! Vielen Dank
Leider hab ich aber bei meiner Beschreibung einen Fehler gemacht. Ich möchte nicht die Spalten 2(B),3(C),4(D) kopieren, sondern die Spalten 2(B),3(C),5(E). Ich vermute dann ändert das ".Resize" irgendwie?
Gruss
Snowman
AW: VBA Zellen aus mehreren markierten Zeilen kopieren
16.01.2019 07:28:25
hary
Moin Snowman
Nur allein Resize aendern bringt nichts. Resize erweitert den Bereich im ganzen.
B/C/E muessen dann auch mit Union(B&C&E) zusammengefasst werden. Ansonsten wird nur mit Resize auch SpalteD mitgenommen.
Sub BCE_uebertragen()
Dim wksQ As Worksheet, wksZ As Worksheet
Dim zelle As Range, kopieren As Range
Set wksQ = Worksheets("Tabelle1") '--ggf. Blattname anpassen
Set wksZ = Worksheets("Tabelle2") '--ggf. Blattname anpassen
For Each zelle In Selection.Rows
If kopieren Is Nothing Then
Set kopieren = Union(wksQ.Cells(zelle.Row, 2).Resize(1, 2), wksQ.Cells(zelle.Row, 5))
Else
Set kopieren = Union(kopieren, Union(wksQ.Cells(zelle.Row, 2).Resize(1, 2), wksQ.Cells( _
zelle.Row, 5)))
End If
Next
If Not kopieren Is Nothing Then
kopieren.Copy wksZ.Cells(Rows.Count, 10).End(xlUp).Offset(1, 0)
End If
Set wksQ = Nothing
Set wksZ = Nothing
Set kopieren = Nothing
End Sub

Denk dran, der Thread wandert bald ins Archiv.Hier im Forum nach ca. 5-6 Tagen. Dann kannst du nicht mehr antworten/Fragen stellen.
gruss hary
Anzeige
AW: VBA Zellen aus mehreren markierten Zeilen kopieren
16.01.2019 08:28:25
Snowman
Guten Morgen hary
Suuuuper, klappt wunderbar! Ich danke Dir vielmals.
Oh das hab ich nicht gewusst das der Thread nach ein paar Tagen verschoben wird.
Wenn ich deinen Code so anschaue dann blick ich so halb durch, könntest du evtl. deinen Code kurz erklären (ab "For Each"). Das wäre definitiv die Krönung
Ich wünsche einen guten Start
Gruss
Snowman
AW: Erklaerung
16.01.2019 10:29:39
hary
Moin Snowman
Bin nicht so der Erklaerbaer. ;-)
Hoffe einigermassen verstaendlich.
For Each zelle In Selection.Rows '---jede Zeile in markierten Zeilen abklappern
'---kopieren ist ein Rangeobjekt
If kopieren Is Nothing Then '---wenn das Rangeobjekt leer(nothing) ist,also kein Bereich  _
zugewiesen wurde
'---weise dem Rangeobjekt die Zellen aus B erweitert um 2 Spalte(also B+C) und Zelle aus E
'---Resize erweitert den Bereich incl. der eigentlichen Zelle
'---Union fasst nichtzusammenhaengede Zellen zu einem Bereich zusammen
Set kopieren = Union(wksQ.Cells(zelle.Row, 2).Resize(1, 2), wksQ.Cells(zelle.Row, 5))
Else '---wenn das Rangeobjekt nicht leer ist
'---ergaenzt das alte Rangeobjekt(kopieren) mit dem neuen (Union(wksQ.Cells...)
Set kopieren = Union(kopieren, Union(wksQ.Cells(zelle.Row, 2).Resize(1, 2), wksQ.Cells( _
zelle.Row, 5)))
End If
Next
If Not kopieren Is Nothing Then '---prueft ob Rangeobjekt(kopieren) gefuellt ist
'---kopiert das Rangeobjekt(kopieren) in naechste freie Zelle in SpalteJ des Zielblattes
kopieren.Copy wksZ.Cells(Rows.Count, 10).End(xlUp).Offset(1, 0)
End If

gruss hary
Anzeige
AW: Erklaerung
16.01.2019 16:26:50
Snowman
Hallo hary
Genial! Ich hab's begriffen.
Ich danke dir vielmals!!!
Gruss

359 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige