Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1460to1464
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

Jede X. Zeile kopieren

Jede X. Zeile kopieren
24.11.2007 04:55:58
Golem

Hallo Excel-Fachleute,
ich habe folgenden Beitrag gefunden:
"jede zweite zeile kopieren will nich" von Hans Meier vom 23.11.2007 19:58:32.
ich möchte nur jede 2 Zeile aus einer Spalte in eine andere Spalte auf ein anderes Tabellenblatt kopieren.
Wie stell ich das den an? mein Versuch klappt nicht.
Bsp. Tabellenblatt 1 hat in Spalte B sehr viele Zeilen, jetzt will ich aber nur jede 2 Zeile kopieren. Zeilen 2,4,6,8,10 usw. nach Tabellenblatt 2 Spalte B in die Zeile 1,2,3,4,5 also fortlaufend.
Darauf folgende Antwort von:
Daniel

Die Methoden ist schleifenfrei und daher sehr schnell und auch für sehr grosse Datenmengen geeignet.

Sub Makro2()
Dim lngLetzteZeile As Long
Dim lngSpalte As Long
Dim wksZiel As Worksheet
Dim wksQuelle As Worksheet
Set wksZiel = Sheets(1)
Set wksQuelle = Sheets(2)
lngSpalte = 2
lngLetzteZeile = wksQuelle.Cells(65536, lngSpalte).End(xlUp).Row
With wksZiel.Cells(2, lngSpalte).Resize(lngLetzteZeile / 2, 1)
.FormulaR1C1 = "=INDEX('" & wksQuelle.Name & "'!C,ROW()*2-2)"
.Formula = .Value
End With
End Sub

Der Code funktioniert für das Kopieren von Tabellenblatt zu Tabellenblatt einwandfrei.
Ich möchte den Code für das Kopieren auf einem Tabellenblatt ( z.B. Spalte B nach Spalte D ) verwenden.
Dafür bekomme ich den Code nicht geändert.
Wer kann mir bitte helfen!
Für evtl. Tipps oder Anregungen schon mal besten Dank!
Werner

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Jede X. Zeile kopieren
09.12.2015 22:37:20
Matthias
Hallo Werner,
die Variable lngSpalte gibt dir an wohin kopiert werden soll. In dem Makro ist die 2. Spalte angegeben, sprich Spalte B.
Der Wert welcher kopiert werden soll steht in der Formel, und zwar ist hier Spalte C angegeben:
"=INDEX('" & wksQuelle.Name & "'!C,ROW()*2-2)"
lg Matthias

AW: Jede X. Zeile kopieren
09.12.2015 22:43:51
Matthias
Ups, das stimmt so nicht. Das C steht nur für die aktive Spalte. Das heist es wird von Spalte B nach Spalte B kopiert, wenn du das ändern möchtest musst du eine weitere Variable einfügen:
Sub Makro2()
Dim lngLetzteZeile As Long
Dim lngSpalte As Long, lngSpalte2 As Long
Dim wksZiel As Worksheet
Dim wksQuelle As Worksheet
Set wksZiel = Sheets(1)
Set wksQuelle = Sheets(2)
lngSpalte = 4 'nach
lngSpalte2 = 2 'von
lngLetzteZeile = wksQuelle.Cells(65536, lngSpalte).End(xlUp).Row
With wksZiel.Cells(2, lngSpalte).Resize(lngLetzteZeile / 2, 1)
.FormulaR1C1 = "=INDEX('" & wksQuelle.Name & "'!C" & lngSpalte2 & ",ROW()*2-2)"
.Formula = .Value
End With
End Sub
lg Matthias

Anzeige
AW: Jede X. Zeile kopieren
09.12.2015 22:47:27
Matthias
Hier muss es auch Spalte 2 heißen:
lngLetzteZeile = wksQuelle.Cells(65536, lngSpalte2).End(xlUp).Row

AW: Jede X. Zeile kopieren
11.12.2015 14:01:02
Golem
Hallo Matthias,
entschuldige meine verspätete Antwort.
Ich habe nachfolgenden Code von Dir verwendet:
Sub Makro2()
Dim lngLetzteZeile As Long
Dim lngSpalte As Long, lngSpalte2 As Long
Dim wksZiel As Worksheet
Dim wksQuelle As Worksheet
Set wksZiel = Sheets(1)
Set wksQuelle = Sheets(2)
lngSpalte = 4 'nach
lngSpalte2 = 2 'von
lngLetzteZeile = wksQuelle.Cells(65536, lngSpalte).End(xlUp).Row
With wksZiel.Cells(2, lngSpalte).Resize(lngLetzteZeile / 2, 1)
.FormulaR1C1 = "=INDEX('" & wksQuelle.Name & "'!C" & lngSpalte2 & ",ROW()*2-2)"
.Formula = .Value
End With
End Sub
Dieser funktioniert sowohl beim Kopieren von Tabelle zu Tabelle als auch zum Kopieren
auf einem Tabellenblatt einwandfrei.
So hatte ich es mir vorgestellt.
Einen schönen Dank für Deine Hilfe und ich wünsche Dir schöne Feiertage
und für das neue Jahr reichlich Gesundheit.
Schöne Grüße
Werner

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige