Zeile Ausschneiden/Einfügen, wenn Wert X
11.08.2024 13:46:19
Ooppai
ich hatte letzte Woche breits einen Beitrag verfasst, bei dem es darum ging per Button die Zeile, wenn Wert X eingetragen ist, auszuschneiden und in ein anderes Tabellenblatt einzufügen. Ich glaube der Beitrag wurde schon ins Archiv verschoben . D:
Das funktioniert auch insoweit einwandfrei. Nun macht es allerdings Probleme, wenn ich das versuche auf einer intelligenten Tabelle anzuwenden. Nochmal vorweg ich bin in dem Thema leider nicht so fit. Was muss geändert werden damit es auch auf eine intelligente Tabelle anwendbar ist?
Public Sub Move_Done_Transactions()
Dim objCell As Range
Dim lngRowsArray() As Long, lngRowCounter As Long, lngCopyRow As Long
Dim strAddress As String
With Worksheets("Tabelle1")
Set objCell = .Columns(13).Find(what:="x", _
After:=.Columns(13).Cells(.Rows.Count), LookIn:=xlValues, LookAt:=xlWhole)
If Not objCell Is Nothing Then
strAddress = objCell.Address
Do
lngRowCounter = lngRowCounter + 1
ReDim Preserve lngRowsArray(1 To lngRowCounter)
lngRowsArray(lngRowCounter) = objCell.Row
Set objCell = .Columns(13).FindNext(objCell)
Loop While Not objCell Is Nothing And objCell.Address > strAddress
With Worksheets("Tabelle2")
lngCopyRow = .Cells(.Rows.Count, 6).End(xlUp).Row
End With
For lngRowCounter = UBound(lngRowsArray) To 1 Step -1
lngCopyRow = lngCopyRow + 1
.Rows(lngRowsArray(lngRowCounter)).Cut
Worksheets("Tabelle2").Rows(lngCopyRow).Insert Shift:=xlDown
.Rows(lngRowsArray(lngRowCounter)).Delete
Next
End If
End With
End Sub
Gruß
Anzeige