Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA/Msg-Box/Zeilen löschen

Forumthread: VBA/Msg-Box/Zeilen löschen

VBA/Msg-Box/Zeilen löschen
22.12.2006 02:56:09
Uwe
Hallo,
könnt Ihr mir bei folgendem Problem helfen:
Ich habe in Spalte A Zahlen von z.B. 1 bis 10. Jede Zahl nimmt wiederum einen Bereich von 20 Zeilen ein (z.B. die Zahl 3 steht in Zelle A10. Der der Zahl zugeordnete Bereich umfasst die Zeilen 10 bis 19). Über eine Msg-Box soll man die zu löschende Zahl eingeben. Von der eingegebenen Zahl sollen abwärts dann insg. 20 Zeilen gelöscht werden.
Bsp.: Msg-Box: Eingabe 3, Makro: Suche in Spalte A die Zahl 3 und lösche von der Zahl 20 Zeilen abwärts.
Habt Ihr eine Lösung?
Gruß
Uwe
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA/Msg-Box/Zeilen löschen
22.12.2006 07:29:12
Oberschlumpf
Hi Uwe
Meinst du so:

Sub SearchAndClear()
Dim liSuche As Integer, liZeile As Integer
liSuche = InputBox("Geben Sie die Suchzahl ein:", "Suche")
For liZeile = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Range("A" & liZeile).Value = liSuche Then
Rows(liZeile & ":" & liZeile + 19).Delete
Exit For
End If
Next
End Sub

Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: VBA/Msg-Box/Zeilen löschen
22.12.2006 07:43:44
ingUR
Hallo, Uwe,
vermutlich wolltest Du die Kennzahl über eine INPUTBOX eingeben, denn ein MSGBOX kann Dir nur eine NAchricht anzeigen, nicht jedoch Eingabewerte abfragen.
Ferner habe ich nicht ganz begriffen, wieso Du einmal von 20 zu löschenden Zeilen schreibst, dann jedoch mitteilst, dass zur Kennzahl ein Bereich von zehn Zeilen («z.B. die Zahl 3 steht in Zelle A10. Der der Zahl zugeordnete Bereich umfasst die Zeilen 10 bis 19») gehört um dann in Deinem Beispiel zum Makro wieder zwanzig Zeilen löschen zu lassen.
Gut, das ist nicht das eigentliche Problem. Es bleiben zwei Fragen:
  • Kommt die Kennzahl (Suchbegriff) eindeutig nur einmal in der Spalte A vor?
  • Ist die Kennzahlzeile die erste zu löschende Zeile von den zwanzig (zehn?) Zeilen des zu löschenden Bereichs?
    Beide Fragen habe ich mit "Ja" beantwortet und konnte so folgendes Standardmodul schreiben und einsetzen (der Wert für die Variable Anzahl ist anzupassen, falls er unzutreffend ist):
    Option Explicit
    Sub LoescheBereichNachKennzahl()
    Dim strMuster As String, lFirstRow As Long
    Dim Anzahl As Integer
    Anzahl = 10
    strMuster = InputBox("Kennung")
    lFirstRow = Range("A:A").Find(What:=strMuster, _
    LookAt:=xlWhole).Row
    If lFirstRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 Then
    MsgBox "Eintrag " & strMuster & " nicht gefunden"
    Exit Sub
    End If
    Rows(lFirstRow & ":" & lFirstRow + Anzahl - 1).Delete Shift:=xlUp
    End Sub
    
    Vielleicht kannst Du dieses Grundgerüst für Deine Aufgabe geeignet anpassen.
    Uwe
  • Anzeige
    AW: VBA/Msg-Box/Zeilen löschen
    22.12.2006 20:55:02
    Uwe
    Klasse,
    hat wunderbar geklappt. Vielen Dank.
    Gruß
    Uwe
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige