Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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 kopieren einzelner bestimmter Zeilen

VBA kopieren einzelner bestimmter Zeilen
31.10.2022 07:42:16
Daniel
Hallo zusammen,
ich möchte, bestimmte Zeilen in ein anderes Tabellenblatt kopieren.
Leider überschreibt mein Code immer die letzte Zeile in mein kopiertes Tabellenblatt, aber ich komm einfach nicht auf die Lösung. :(
In der Spalte A gibt es keine werte, erst in der Spalte B.

Sub Uebertragen()
Dim Zeile As Long
Dim ZeileMax As Long
With shStammdaten
ZeileMax = .UsedRange.Rows.Count
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 14).Value = "X" Then
.Rows(Zeile).Copy Destination:=shAustritte.Range("A" & shAustritte.Rows.Count).End(xlUp).Offset(2)
End If
Next Zeile
End With
End Sub
Ich hoffe jemand kann mir helfen. :)
Danke im Vorraus. :)

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

Betreff
Datum
Anwender
Anzeige
AW: VBA kopieren einzelner bestimmter Zeilen
31.10.2022 08:09:53
ralf_b
Du kannst auch für shAustritte die usedrange.rows.count +1 variante nutzen.
Oder du suchst tatsächlich die letzte Zeile in Spalte "B" statt in "A" shAustritte.Range("B" & Rows.count
die nächste Zeile unter der letzten sollte doch offset(1) sein und nicht offset(2)
Ich würde die aber raten die Rows nummern erst zu sammeln und sie dann gesamt ins andere Blatt zu kopieren.
zb. nach diesem Muster

Dim rngAllex as Range
if  zelle = x then
if rngAllex is nothing then
set rngAllex = Rows(Zeile)
else
set rngAllex = union (rngAllex , Rows(zeile)
end if
end if

Anzeige
AW: VBA kopieren einzelner bestimmter Zeilen
31.10.2022 10:17:23
Daniel
"Oder du suchst tatsächlich die letzte Zeile in Spalte "B" statt in "A" shAustritte.Range("B" & Rows.count"
Wenn ich die in der Spalte "B" suche kommt immer bei mir das:
Laufzeitfehler '1004'
Das der Kopieren- Bereich und der Einfügebereich nicht die gleiche Größe haben.
Ob wohl das die gleiche Tabelle ist nur ohne Werte.
"die nächste Zeile unter der letzten sollte doch offset(1) sein und nicht offset(2)"
Oh da hab ich mich verschrieben, da sollte eigentlich offset(1) stehen.
"Ich würde die aber raten die Rows nummern erst zu sammeln und sie dann gesamt ins andere Blatt zu kopieren.
zb. nach diesem Muster"

leider kopiert er denn die Überschrift immer mit. :(
Das will ich nicht. :(
Trotzdem danke erstmal. :)
Anzeige
AW: VBA kopieren einzelner bestimmter Zeilen
31.10.2022 12:44:11
ralf_b
Laufzeitfehler '1004' - die Lösung hat dir dein Namensvetter gegeben.
Wenn man die ganze Zeile in einem kleineren Bereich einfügen möchte, gibts nen Fehler.
Also einfügen in spalte A aber letzte Zeile aus B oder usedrange
wenn du die Kopfzeile mit prüfst und dort ein X steht ,dann ist es auch nachvollziehbar.
Deshalb For Zeile = 2 To ZeileMax abändern in z.b. Zeile = 3
AW: VBA kopieren einzelner bestimmter Zeilen
31.10.2022 10:54:03
Daniel
Hi
Wenn in Spalte A keine Werte sind, musst du die letzte befüllte Zeile in Spalte B oder einer anderen Spalte, die Werte enthält, suchen.
Einfügen musst du trotzdem in Spalte A:
.Rows(Zeile).Copy Destination:=shAustritte.Range("B" & shAustritte.Rows.Count).End(xlUp).Offset(2, -1)
Gruß Daniel

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige