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

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

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

    113 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige