Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Herbers CD 136401 / Suchbegriffe mit Zeile löschen

    Betrifft: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Erich M.
    Geschrieben am: 30.08.2003 19:45:31

    Hallo zusammen,

    ich habe von Herbers CD den Code 136401:
    Wie kann ich einen durch InputBox abzufragenden Suchbegriff
    in einer Tabelle suchen und alle Fundzeilen auswählen lassen?
    Den Code habe ich leicht abgeändert, da die Fundzeilen gelöscht
    werden sollen.
    Jetzt versuche ich schon ne Weile den Code soweit abzuändern,
    dass der Suchbegriff nur in einer bestimmten Spalte gesucht wird –
    aber dann trotzdem wieder die ganze zeile gelöscht wird.

    Sub A_MultiSelect()
       Dim wks As Worksheet
       Dim rngFind As Range, rngRows As Range
       Dim sFind As String, sSearch As String
       sSearch = InputBox("Suchbegriff:")  ', , "test")
       Set rngFind = Cells.Find(sSearch)
       If rngRows Is Nothing Then
          Set rngRows = rngFind
       End If
       If Not rngFind Is Nothing Then
          sFind = rngFind.Address
          Do
             Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
             Set rngFind = Cells.FindNext(After:=rngFind)
             If rngFind.Address = sFind Then Exit Do
          Loop
       End If
       rngRows.Delete  'Select
    End Sub
    


    Code eingefügt mit: Excel Code Jeanie

    Besten Dank für eine Hilfe!

    mfg
    Erich
      


    Betrifft: AW: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Hajo_Zi
    Geschrieben am: 30.08.2003 19:52:13

    Hallo Erich

    was soll "alle Fundzeilen auswählen lassen" bedeuten?? Welche Aktion soll im Anschluß gemacht werden.

    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.

    Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

    Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
    Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
    Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
    Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


      


    Betrifft: AW: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Erich M.
    Geschrieben am: 30.08.2003 20:04:51

    Hallo Hajo,

    nach "alle Fundzeilen auswählen" sollen alle diese
    Fundzeilen gelöscht werden.
    Der Code läuft auch soweit richtig; wenn ich mit
    Suchbegriff "5" suche, werden alle Zeilen die eine "5"
    enthalten gelsöcht.

    Wenn ich jetzt aber nur die "5" in Spalte B suchen will,
    und dann die "gefundenen Zeilen" löschen will,
    bring ich den Code nicht auf die Reihe.

    Besten Dank!

    mfg
    Erich


      


    Betrifft: AW: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Hajo_Zi
    Geschrieben am: 30.08.2003 20:09:45

    Hallo Erich

    Sub A_MultiSelect()
        Dim wks As Worksheet
        Dim rngFind As Range, rngRows As Range
        Dim sFind As String, sSearch As String
        Dim LoLetzte As Long
        LoLetzte = 65536
        If Range("B65536") = "" Then LoLetzte = Range("B65536").End(xlUp).Row
        sSearch = InputBox("Suchbegriff:")  ', , "test")
        Set rngFind = Range("B1:B" & LoLetzte).Find(sSearch)
        If rngRows Is Nothing Then
            Set rngRows = rngFind
        End If
        If Not rngFind Is Nothing Then
            sFind = rngFind.Address
            Do
                Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
                Set rngFind = Cells.FindNext(After:=rngFind)
                If rngFind.Address = sFind Then Exit Do
            Loop
        End If
        rngRows.Delete  'Select
    End Sub
    


    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.


      


    Betrifft: AW: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Erich M.
    Geschrieben am: 30.08.2003 20:25:29

    Hallo Hajo,

    danke. aber leider nimmt er die Range B1:B nicht richtig auf.
    Allerdings hat Nepumuk bereits eine Lösung eingestellt.

    Also besten Dank!

    mfg
    Erich


      


    Betrifft: AW: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Nepumuk
    Geschrieben am: 30.08.2003 20:07:28

    Hallo Erich,
    versuch es mal so:
    Option Explicit
    Sub A_MultiSelect()
        Dim rngFind As Range, rngRows As Range, sFind As String, sSearch As String
        With Columns("B")
            Set rngFind = .Find(InputBox("Suchbegriff:"))  ', , "test"))
            If Not rngFind Is Nothing Then
                sFind = rngFind.Address
                Do
                    If Not rngRows Is Nothing Then Set rngRows = Application.Union(rngRows, Rows(rngFind.Row)) Else Set rngRows = Rows(rngFind.Row)
                    Set rngFind = .FindNext(rngFind)
                Loop Until rngFind.Address = sFind Or rngFind Is Nothing
             End If
        End With
        If Not rngRows Is Nothing Then rngRows.Delete   'Select
    End Sub
    


    Code eingefügt mit: Excel Code Jeanie

    Gruß
    Nepumuk


      


    Betrifft: DANKE - Nepumuk: funktioniert perfekt!! o.T. von: Erich M.
    Geschrieben am: 30.08.2003 20:26:49

    .


      


    Betrifft: Lösung in UserForm fürs Archiv! von: Erich M.
    Geschrieben am: 31.08.2003 07:56:42

    https://www.herber.de/bbs/user/796.xls

    mfg
    Erich


      


    Betrifft: AW: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Beni
    Geschrieben am: 30.08.2003 20:08:09

    Hallo Erich,
    Du musst mit With den Bereich bestimmen.
    Gruss Beni

    Sub A_MultiSelect()
       Dim wks As Worksheet
       Dim rngFind As Range, rngRows As Range
       Dim sFind As String, sSearch As String
       sSearch = InputBox("Suchbegriff:")  ', , "test")
    With Worksheets("Tabelle2").Columns(1) 'Spalten-Nummer
       Set rngFind = Cells.Find(sSearch)
       If rngRows Is Nothing Then
          Set rngRows = rngFind
       End If
       If rngFind Is Nothing Then Exit Sub
       If Not rngFind Is Nothing Then
          sFind = rngFind.Address
          Do
             Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
             Set rngFind = Cells.FindNext(After:=rngFind)
             If rngFind.Address = sFind Then Exit Do
          Loop
       End If
       rngRows.Delete  'Select
    End With
    End Sub
    



      


    Betrifft: AW: Herbers CD 136401 / Suchbegriffe mit Zeile löschen von: Erich M.
    Geschrieben am: 30.08.2003 20:28:07

    Hallo Beni,

    leider nimmt er die Spalte B nicht und löscht wie bisher.
    Nepumuk hat aber bereits eine Lösung eingestellt!

    Also besten Dank!

    mfg
    Erich


     

    Beiträge aus den Excel-Beispielen zum Thema " Herbers CD 136401 / Suchbegriffe mit Zeile löschen"