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

Markierte Zeilen Verschieben und Löschen

Markierte Zeilen Verschieben und Löschen
01.01.2017 12:36:20
WalterK
Zuerst wünsche ich ein gutes neues Jahr, Gesundheit und viel Erfolg.
Ich habe den nächst unteren Thread mit dem Code von Gerd L angesehen und auf mein Bespiel angelegt. Funktioniert soweit.
Allerdings wollte ich es so haben, dass auf jeden Fall die obersten 5 Zeilen nicht kopiert und gelöscht werden, auch wenn sie versehentlich selektiert wurden.
Wie geht das?
Hier das bisherige Makro:
Option Explicit
Sub MarkierteZeilenVerschieben()
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Dim LzZ As Long
Dim Q As Range
Set wksQ = Worksheets("Quelle")
Set wksZ = Worksheets("Ziel")
Set Q = Selection.EntireRow
LzZ = Application.Max(5, wksZ.Cells(Rows.Count, 1).End(xlUp).Row)
Application.ScreenUpdating = False
With wksQ
Q.Copy
wksZ.Range("A" & LzZ + 1).PasteSpecial xlPasteAll
Q.Delete
End With
Application.CutCopyMode = False
Set wksQ = Nothing
Set wksZ = Nothing
Set Q = Nothing
End Sub

https://www.herber.de/bbs/user/110278.xlsm
Besten Dank, Servus Walter

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

Betreff
Datum
Anwender
Anzeige
AW: Markierte Zeilen Verschieben und Löschen
01.01.2017 12:43:28
Hajo_Zi
Halo Walter,
Option Explicit
Sub MarkierteZeilenVerschieben()
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Dim LzZ As Long
Dim Q As Range
Set wksQ = Worksheets("Quelle")
Set wksZ = Worksheets("Ziel")
Set Q = Selection.EntireRow
LzZ = Application.Max(5, wksZ.Cells(Rows.Count, 1).End(xlUp).Row)
Application.ScreenUpdating = False
With wksQ
Q.Copy
wksZ.Range("A" & LzZ + 1).PasteSpecial xlPasteAll
Set Q = Intersect(Rows("6:1048576"), Q)
Q.Delete
End With
Application.CutCopyMode = False
Set wksQ = Nothing
Set wksZ = Nothing
Set Q = Nothing
End Sub


Anzeige
AW: Markierte Zeilen Verschieben und Löschen
01.01.2017 13:08:19
WalterK
Hallo Hajo,
besten Dank für Deine Hilfe.
Ich habe die Zeile "Set Q = Intersect(Rows("6:1048576"), Q)" noch vor Q.Copy eingefügt, damit auch beim Kopieren die Zeilen bis Zeile 5 außer acht bleiben.
Danke und Servus, walter
AW: Markierte Zeilen Verschieben und Löschen
01.01.2017 14:15:33
Gerd
Hallo Walter,
"weiter unten" wurde nur ein Teil einer bestehenden Prozedur gezeigt.
Ich gehe davon aus, dass du nur die eine Aktion vom aktiven Blatt aus startest,
nur wenn zumindest teilweise unterhalb von Zeile 5 markiert worden ist.
Sub MarkierteZeilenVerschieben_3()
Dim Q As Range, LzZ As Long
Set Q = Selection.EntireRow
Set Q = Intersect(Q.Parent.Rows("6:" & Q.Parent.Rows.Count), Q)
If Q Is Nothing Then Exit Sub
Application.ScreenUpdating = False
With Worksheets("Ziel")
LzZ = Application.Max(5, .Cells(.Rows.Count, 1).End(xlUp).Row)
Q.Copy .Range("A" & LzZ + 1)
Q.Delete
End With
Application.CutCopyMode = False
Set Q = Nothing
End Sub
Gruß Gerd
Anzeige
Passt genau, danke Gerd. Servus Walter
01.01.2017 14:32:31
WalterK

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige