Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
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
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile löschen, selbe Zeile in anderem Blatt lösche

Zeile löschen, selbe Zeile in anderem Blatt lösche
23.10.2007 15:56:44
Peter
Hallo alle zusammen,
mit folgendem Code lösche ich (unter anderem) die markierte Zeile (z.B. Zeile 8) im aktiven Tabellenblatt "Cashflow".
Funktioniert wunderbar.
Außerdem soll mit dem Code auch die selbe Zeile, also in diesem Fall Zeile 8 im Tabellenblatt "MwSt" gelöscht werden.
Das funktioniert mit meinem Code soweit, dass Zeile 8 auch im Tabellenblatt "MwSt" gelöscht wird aber außerdem auch noch die nächste Zeile, also Zeile 9.
Es werden also die selbe Zeile wie die markierte Zeile und die nächste Zeile gelöscht, gelöscht werden soll aber nur die selbe Zeile wie die markierte Zeile.
Kann mir bitte jemand helfen?!
mein 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 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"
'selbe Zeile aktivieren wie in Worksheet "Cashflow"
Worksheets("MwSt").Rows(ActiveCell.Row).Delete
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


Danke im Voraus
Grüße aus Berlin

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile löschen, selbe Zeile in anderem Blatt lö
23.10.2007 16:45:41
Mag
Hi,
na, dann lösche doch nicht 2 Zeilen!
Dein Code:
Worksheets("MwSt").Rows(ActiveCell.Row).Delete
ActiveCell.EntireRow.Delete
Gruss

AW: Zeile löschen, selbe Zeile in anderem Blatt lö
23.10.2007 17:22:00
Peter
Hallo Mag,
du hast schon recht, ein Befehl sollte reichen.
Mit jeweils einem dieser Befehle funktionierts immer noch nicht.
Dann wird immer nur die nächste Zeile also in dem Fall nicht Zeile 8 wie in Cashflow sondern Zeile 9 in MwSt gelöscht.
Wie ist der richtige Code?
Danke
Grüße aus Berlin

AW: Zeile löschen, selbe Zeile in anderem Blatt lö
23.10.2007 18:28:06
Mag
?

Sub Test()
'im Arbeitsblatt Cashflow z.B. Zeile 8 löschen
ActiveCell.EntireRow.Delete
'selbe Zeile wie in Worksheet "Cashflow" auch im Arbeitsblatt MwSt löschen
Worksheets("MwSt").Rows(ActiveCell.Row).Delete
End Sub


so funktioniert es doch ...

Anzeige
AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 11:08:08
Peter
Hallo Mag,
ich stelle mal meine Datei als Zip rein.
Ich habe den Code auch noch ein bischen umgebaut und jetzt kommt die Fehlermeldung "Zellen nicht gefunden" für das Blatt "MwSt".
Zur Funktion der Datei:
Auf dem Blatt "Cashflow" befindet sich eine Menüleiste mit der Schaltfläche "loeschen".
Nur diese zum löschen von Zeilen verwenden.
Vor dem löschen muss natürlich eine Zeile markiert werden, am besten eine mitten drin!
Der Code befindet sich in Modul 2 an letzter Stelle.
meine Datei: https://www.herber.de/bbs/user/47047.zip
Danke im Voraus
Grüße aus Berlin

Anzeige
AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 11:55:10
Mag
Hallo,
wenn Du vor dem löschen im aktiven Worksheet "Cashflow" hingehst und mit:
Worksheets("MwSt").Activate
das Worksheet "MwSt" aktiv setzt, dann stimmt ja "ActiveCell.Row" vom Worksheet "Cashflow" nicht mehr!!!
Du befindest Dich in einem Modul. Dann solltest Du auch klare Bezüge zu den Worksheets verwenden; also immer den Bezug zum entsprechenden Worksheet verwenden oder die Zeile in eine Variable sichern und dann auf das andere Worksheet anwenden.
Gruss

AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 13:24:57
Peter
Hallo Mag,
im Prinzip verstehe ich dich, meine Kenntnisse sind aber nicht ausreichend um das was du mir sagst umzusetzen. Kannst du bitte meinen Code korregieren?!
Danke
Grüße aus Berlin

Anzeige
AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 14:06:00
Mag

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"
'selbe Zeile aktivieren wie in Worksheet "Cashflow"
Worksheets("MwSt").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


Anzeige
AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 14:11:28
Mag
... oder:

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"
'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


Anzeige
AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 15:10:00
Peter
Hallo Mag,
funktioniert so weit, eine Sache noch, wenn man keine Zeile markiert hat und dann die MsgBox kommt in der man mit OK bestätigt bleibt der Code an der Stelle:
Worksheets("MwSt").Rows(lngAb).Delete
hängen.
Kannst du dir das noch mal ansehen?!
Danke
Gruß

AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 16:17:00
Mag
... naja, hier sollte dann auch nicht im sheet "MwSt" gelöscht werden, oder? Also nach der Meldung z.B.:
exit sub

AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 16:26:00
Mag
... vorher Protect nicht vergessen, dann exit sub

AW: Zeile löschen, selbe Zeile in anderem Blatt lö
24.10.2007 17:19:11
Peter
Super, danke Mag

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige