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

Zeilen incl. nächster Leerzeile löschen

Zeilen incl. nächster Leerzeile löschen
24.05.2004 18:35:13
Pit
Hi Forengemeinde,
ich hab mal wieder Probleme, die ich trotz meiner Recherchen nicht in den Griff kriege.
Das beigefügte Bild zeigt als Beispiel den Aufbau einer Tabelle. Nun möchte ich per VBA mit Doppelklick in die Zelle eines Hauptpunktes den ganzen Punkt löschen.
z.B. Hauptpunkt 1 (Zelle C11), zu löschende Zeilen 11,12,13
Hauptpunkt 2 (Zelle C14), zu löschende Zeilen 14,15,...,18
Die Punkte sind immer so aufgebaut, dass sie mit einer Leerzeile abschliessen.
Userbild

z.B.: Hauptpunkt 2
Ausgehend vom Doppelklick in C14 (ActiveCell) sollen die variablen Zeilen des Punktes (hier 14- einschliesslich 18) ermittelt, markiert und gelöscht werden.
Die auskommentierten Zeilen waren mein erster Fehlversuch ;-) und irgendwie steh ich total auf dem Schlauch ...
Kann mir hier jemand auf die Sprünge helfen?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
'Hauptpunkt löschen
If ActiveCell.Column = 3 And ActiveCell <> Leer Then
'i = ActiveCell.SpecialCells(xlCellTypeBlanks).Row
'Rows(ActiveCell & ":" & i).Delete
Range(ActiveCell & ActiveSheet.Cells(Rows.Count, 1) _
.End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Else
'Unterpunkt löschen
If ActiveCell.Column = 4 And ActiveCell <> Leer Then
Rows(ActiveCell.Row).Delete
End If
End If
End Sub


Vielen Dank im Voraus
Pit

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen incl. nächster Leerzeile löschen
24.05.2004 19:26:19
Christoph M
Hallo Pit,
so müsste es laufen:
Gruß
Christoph
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer
If Target.Column <> 3 Then Exit Sub
If Target.Value = "" Then Exit Sub
For i = Target.Row + 1 To Cells(Rows.Count, 4).End(xlUp).Row + 1
If Cells(i, 4) = "" Then
Rows(Target.Row & ":" & i - 1).Delete Shift:=xlUp
Exit For
End If
Next
End Sub

AW: Funkt nicht
24.05.2004 19:49:59
Pit
Hi Christoph,
danke für deine Mühe, aber funktioniert nicht :-(
bringt in der for-schleife einen laufzeitfehler 424 (Objekt erforderlich)
Gruß Pit
Anzeige
AW: Funkt doch
24.05.2004 20:16:10
ypsilon
hi Pit,
der ansatz war doch richtig
probier mal:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer
i = 1
If Target.Column <> 3 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Left(Target.Value, 5) <> "Haupt" Then Exit Sub
Do While Cells(Target.Row + i, 3) <> ""
i = i + 1
Loop
i = i + 1
Rows(Target.Row & ":" & i).Delete
End Sub

cu Micha
AW: Funkt auch
24.05.2004 21:04:28
Pit
Hi Micha,
deine Lösung funktioniert auch ...
Danke
Pit
AW: Funkt nicht
24.05.2004 20:22:14
Christoph M
Hi Pit,
das wundert mich jetzt aber.
Hab mit eben mal eine Tabelle erstellt und da läuft es. Allerdings habe ich im Moment kein '97 zum testen. Hier die Bsp-Datei.
https://www.herber.de/bbs/user/6704.xls
Sollte diese bei dir nicht laufen, kann ich mir im Moment keinen Reim darauf machen, außer eben, dass '97 den Code nicht versteht. Aber da ist nach meinem Wissen wirklich nichts neues (aus 2000 oder XP) dabei...
wenn's nicht läuft, dann setze die Frage wieder auf offen, dann tut's mir leid
Gruß
Christoph
Anzeige
AW: Funkt nicht
24.05.2004 20:30:12
andre
Hallo Pit,
probiers mal so:


Sub test2()
i = ActiveCell.Row
'Row(i).Delete
Do While Not WorksheetFunction.CountA(Range(Cells(i, 1), Cells(i, 3))) = False
MsgBox "ja " & i
i = i + 1
'Row(i).Delete
Loop
End Sub

Das ganze natürlich in die Click-Routine (wobei der Target... nicht sein muss), die 3 in Cells(1, 3) durch die gewünschte Breite ersetzen - oder gleich die ganze Zeile nehmen, und das deleten entkommentieren - m,an ist das ein Deutsch ;-).
AW: Funkt nicht
24.05.2004 20:47:01
Pit
Hi Christoph,
deine Datei funktioniert ;-) -- danke
Muss wohl der Fehler in meiner Datei liegen ... habe das Problem hier ja reduziert.
Da steckt ein riesiges Makro dahinter und das spuckt mir wahrscheinlich in die Suppe.
Aber ich denke, jetzt komm ich klar ...
Danke für die Hilfe
Pit
Anzeige
AW: Funkt auch
24.05.2004 21:02:50
Pit
Danke Andre,
deine Lösung funktioniert auch ...
Gruß Pit
AW: Funkt ...
24.05.2004 20:49:47
Pit
Hi Christoph,
deine Datei funktioniert ;-) -- danke
Muss wohl der Fehler in meiner Datei liegen ... habe das Problem hier ja reduziert.
Da steckt ein riesiges Makro dahinter und das spuckt mir wahrscheinlich in die Suppe.
Aber ich denke, jetzt komm ich klar ...
Danke für die Hilfe
Pit

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige