markierte Zeile löschen, s. Zeile in a. Blatt lösc
19.10.2007 13:30:12
Peter
mit folgendem Code lösche ich (unter anderem) eine markierte Zeile (z.B. Zeile 10) im Worksheet "Cashflow". (Button befindet sich auf "Cashflow", "Cashflow ist Activate)
Das funktioniert auch.
Außerdem soll dann auch die selbe Zeile (in dem Fall Zeile 10) im Worksheet "MwSt" gelöscht werden.
Ich wiess nicht wie man das machen kann, da die Zeile in Cashflow nach dem löschen ja nicht mehr markiert ist (es keine markierte Zeile gibt) und ich dann nicht sagen kann aktiviere die selbe Zeile auch in MwSt und lösche sie dann.
Private Sub Zeile_loeschen_Click()
Dim cell As Range, lngAb As Long, lngAnz As Long
SpeedUp True
ActiveSheet.Unprotect Password:="Peter"
If ActiveCell.Row 7 Then
If ActiveCell.Column = 1 And IsDate(ActiveCell) Then 'Zelle in Spalte A aktiviert
If MsgBox("Wollen Sie diese Zeile loeschen?", vbOKCancel + vbQuestion, _
"Achtung!") = 1 Then
ActiveCell.EntireRow.Delete
lngAb = ActiveCell.Row
lngAnz = Cells(65536, 1).End(xlUp).Row - lngAb + 2
For Each cell In Rows(lngAb - 1).SpecialCells(xlCellTypeFormulas, 23)
cell.Copy
cell.Offset(1, 0).Resize(lngAnz, 1).PasteSpecial _
Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
Next cell
End If
Else
MsgBox "Sie haben keine Zeile markiert!"
End If
Else
MsgBox "Sie können diese Zeile nicht loeschen!"
End If
ActiveSheet.Protect Password:="Peter"
Worksheets("MwSt").Activate
ActiveSheet.Unprotect Password:="Peter"
'hier fehlt wohl: selbe Zeile aktivieren wie in Worksheet "Cashflow"
ActiveCell.EntireRow.Delete
lngAb = ActiveCell.Row
lngAnz = Cells(65536, 1).End(xlUp).Row - lngAb + 2
For Each cell In Rows(lngAb - 1).SpecialCells(xlCellTypeFormulas, 23)
cell.Copy
cell.Offset(1, 0).Resize(lngAnz, 1).PasteSpecial _
Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
Next cell
ActiveSheet.Protect Password:="Peter"
Worksheets("Cashflow").Activate
SpeedUp False
End Sub
Kann mir jemand helfen?
Grüße aus Berlin