selbe Zeile auf anderem Blatt löschen etc.
16.11.2007 17:22:00
Peter
bis jetzt habe ich mein Problem folgendermaßen gelöst:
Ich habe die betreffende Zeile im Blatt "Cashflow" markieren müssen, habe dann über eine Schaltfläche den Code gestartet der die gewünschten Befehle ausgeführt hat (Zeile löschen, sortieren und andere). Außerdem wurden die selben Befehle für die selbe Zeile im Blatt "MwSt" durchgeführt. (habe immer erst das entsprechende Worksheet aktiviert und dann mit "ActiveCell.EntireRow.Delete", "lngAb = ActiveCell.Row" und "ActiveSheet.Rows(lngAb).Delete" gearbeitet) Das hat mir bis jetzt ausgereicht. Jetzt haben sich neue Aufgaben ergeben, die es nötig machen einen anderen Weg zu gehen. Ich vergebe jetzt jeder Zeile in Spalte A eine Nummer, die den Inhalt jeder Zeile (das sind in diesem Fall Zahlungen) eindeutig macht. Hat eine Zahlung im Blatt "Cashflow" z.B. die Nummer 10 so hat die dazugehörige Zahlung im Blatt "MwSt" auch die Nummer 10.
Mein Problem: ich weiß nicht wie ich im Code sage: sehe im Blatt "Cashflow" in markierter Zeile in Spalte A nach was für eine Nummer da steht und mache dann dies und das (löschen etc.) und mache dann auch dies und das im Blatt "MwSt" in der Zeile mit der selben Nummer in Spalte A wie sie im Blatt "Cashflow" war. Die Abfragen, ob eine Zeile markiert ist etc., sollen natürlich bestehen bleiben.
Mein alter Code:
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 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!"
ActiveSheet.Protect Password:="Peter"
Exit Sub
End If
Else
MsgBox "Sie können diese Zeile nicht loeschen!"
ActiveSheet.Protect Password:="Peter"
Exit Sub
End If
ActiveSheet.Protect Password:="Peter"
Worksheets("MwSt").Activate
ActiveSheet.Unprotect Password:="Peter"
'selbe Zeile aktivieren wie in Worksheet "Cashflow"
ActiveSheet.Rows(lngAb).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
Danke im Voraus
Grüße aus Berlin