Guten Tag,
ich bin ein kompletter neuling und freue mich auf Hilfe. Ich habe eine Excel Tabelle mit Spalten A-L.
Die Spalte L wird, wenn ein J eingertragen wird, komplett in ein neues Tabellenblatt kopiert.
Funktionier alles super. Ich möchte allerdings gerne zwei Spalten einfügen und somit Spalte N zur
abfragenden Spalte machen. Dafür ändere ich im Makro (siehe unten im Code in ROT - If wsA.Cells(zeileA, "L") = "j" Then ) die Spalte in N.
Beim Kopieren allerdings kopiert er weiterhin nur die Spalten bis L. Was übersehe ich?
Ich würde mich auf änderung des Codes freuen, so dass die Zeilen bis N (oder weiter) kopiert werden.
Ich finde den Fehler nicht. Danke für Hilfe.
Option Explicit
Sub Verschieben()
Dim copVar As Variant
Dim letzteZeileA As Long
Dim letzteZeileE As Long
Dim wsA As Worksheet ' Blatt "AKTUELL"
Dim wsE As Worksheet ' Blatt "ERLEDIGT"
Dim zeileA As Long
Dim zeileE As Long
Set wsA = ThisWorkbook.Worksheets("AKTUELL")
Set wsE = ThisWorkbook.Worksheets("ERLEDIGT")
letzteZeileA = wsA.Cells(wsA.Rows.Count, "A").End(xlUp).Row
letzteZeileE = wsE.Cells(wsE.Rows.Count, "A").End(xlUp).Row
zeileE = letzteZeileE + 1
For zeileA = letzteZeileA To 2 Step -1
If wsA.Cells(zeileA, "L") = "j" Then
copVar = wsA.Cells(zeileA, "A").Resize(1, 10)
wsE.Cells(zeileE, "A").Resize(1, 10) = copVar
wsA.Rows(zeileA).Delete
zeileE = zeileE + 1
End If
Next zeileA
If zeileE > 2 Then
With wsE.Sort
With .SortFields
.Clear
.Add Key:=wsE.Range("B2")
.Add Key:=wsE.Range("C2")
End With
.Header = xlYes
.SetRange Rng:=wsE.UsedRange
.Apply
End With
End If
End Sub
|