Microsoft Excel

Herbers Excel/VBA-Archiv

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

zeilen löschen die bestimten Textfragment enthalte | Herbers Excel-Forum


Betrifft: zeilen löschen die bestimten Textfragment enthalte von: Holger
Geschrieben am: 07.02.2012 10:13:03

Hallo

ich habe text in Spalte B bis H und ab Zeile 4 oder weiter. In diesen Zellen stehen immer Texte
mit folgendem Aussehen
Formular1[0].P5[0].StempelGrundeinstellungen[0].Auswahlliste usw.

ich suche nun ein Makro das die Zeilen löscht die ein Textfragment enthalten. "Formular[0]. ........."

Anders ausgedrückt.
Wenn eine Zelle den string "[Formular[0]." enthält dann Zeile löschen. Inhalt schiebt sich dann nach oben. Das ist ok.
Leider finde ich bisher kein passendes Beispiel.

Vielen Dank für Eure Hilfe

Holger

  

Betrifft: AW: zeilen löschen die bestimten Textfragment enthalte von: Rudi Maintaire
Geschrieben am: 07.02.2012 10:38:49

Hallo,

Sub Loeschen()
  Dim i As Long, j As Long
  For i = Cells(Rows.Count, 2).End(xlUp).Row To 4 Step -1
    If Application.CountIf(Range(Cells(i, 2), Cells(i, 8)), "*formular[0]*") Then Rows(i). _
Delete
  Next
End Sub

Gruß
Rudi


  

Betrifft: AW: zeilen löschen die bestimten Textfragment enthalte von: Holger
Geschrieben am: 07.02.2012 11:21:11

ihr seid super
herzlichen Dank


  

Betrifft: AW: zeilen löschen die bestimten Textfragment enthalte von: Peter Feustel
Geschrieben am: 07.02.2012 11:03:35

Hallo Holger,

so könnte das funtionieren:

Public Sub Find_Methode()

Dim WkSh          As Worksheet
Dim lLetzte       As Long
Dim iSpalte       As Integer
Dim rZelle        As Range
Dim sFundst       As String
Dim sSuchbegriff  As String
Dim rLoesch       As Range

   sSuchbegriff = "Formular1[0]"
   
   Set WkSh = ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
   
   For iSpalte = 2 To 8  ' Spalten A:D
      lLetzte = Application.Max(lLetzte, WkSh.Cells(Rows.Count, iSpalte).End(xlUp).Row)
   Next iSpalte


   With WkSh.Range(WkSh.Cells(4, 2), WkSh.Cells(lLetzte, 8))
      Set rZelle = .Find(What:=sSuchbegriff & "*", LookAt:=xlPart, LookIn:=xlValues, _
         After:=.Cells(.Cells.Count))
      If Not rZelle Is Nothing Then
         sFundst = rZelle.Address
         Do
            If rLoesch Is Nothing Then
               Set rLoesch = Rows(rZelle.Row)
             Else
               Set rLoesch = Union(rLoesch, Rows(rZelle.Row))
            End If
            Set rZelle = .FindNext(rZelle)
         Loop While Not rZelle Is Nothing And rZelle.Address <> sFundst
      End If
      If Not rLoesch Is Nothing Then
         rLoesch.Delete
         Set rLoesch = Nothing
       Else
         MsgBox "Der Begriff  """ & sSuchbegriff & """  wurde nicht gefunden.", _
            48, "   Hinweis für " & Application.UserName
      End If
   End With
   
End Sub

Gruß Peter


Beiträge aus den Excel-Beispielen zum Thema "zeilen löschen die bestimten Textfragment enthalte"