mit VBA Zellen löschen
#31
Ja der kommt da doppelt vor mit unterschiedlichen Vornamen
Top
#32
Hallo,

das Spohn 2 mal drin ist, habe ich gesehen, einmal als Spohn J und einmal als Spohn I. Was ich aber wissen will, gibt es in der Realität den Spohn J zweimal in der Tabelle Recherche?
Gruß Stefan
Win 10 / Office 2016
Top
#33
Edit:

Spohn J gibt es einmal in der REcherche und Spohn I gibt es.

es gibt aber nicht Spohn J zweimal.

Sorry das hatte ich falsch verstanden
Top
#34
Hallo,

teste mal
Code:
Sub prcX()
   Dim x, rSuchErgebnis As Range
   Dim I As Long
   Dim rDaten As Range
   Dim strFirstTreffer As String
   Dim strSuchString As String
   Dim rngLöschBereich As Range
        
   Application.ScreenUpdating = False
  
   With Worksheets("Zahlen zählen")
      
      Set rDaten = Range("TabelleRecherche")
      For I = rDaten.Rows.Count To 1 Step -1  ' Range("TabelleRecherche").Resize(Range("TabelleRecherche").Rows.Count, 1)
      
      If LCase(rDaten.Cells(I, 1).Value) = "x" Then
         strSuchString = rDaten.Cells(I, 3).Value & rDaten.Cells(I, 4).Value
        
         Set rSuchErgebnis = .Range("A4:A" & .Cells(Rows.Count, "A").End(xlUp).Row).Find(what:=rDaten.Cells(I, 3).Value, LookIn:=xlValues, Lookat:=xlWhole)
         If Not rSuchErgebnis Is Nothing Then
               strFirstTreffer = rSuchErgebnis.Address
               'namen vergleichen auch wenns ne fast direkte referenz ist
               Do
               If strSuchString = rSuchErgebnis.Value & rSuchErgebnis.Offset(0, 1).Value Then
                  If rngLöschBereich Is Nothing Then
                     Set rngLöschBereich = rSuchErgebnis.Resize(1, 5)
                  Else
                     Set rngLöschBereich = Union(rSuchErgebnis.Resize(1, 5), rngLöschBereich)
                  End If
'                  rSuchErgebnis.Resize(1, 5).ClearContents 'Delete xlShiftUp 'zeile löschen
                  rDaten.Cells(I, 1).ClearContents  'x entfernen
               End If
               Set rSuchErgebnis = .Range("A4:A" & .Cells(Rows.Count, "A").End(xlUp).Row).FindNext(rSuchErgebnis)
               Loop While strFirstTreffer <> rSuchErgebnis.Address
         End If
      End If
      
      Next
      rngLöschBereich.ClearContents
      
   End With
  
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 2 Nutzer sagen Danke an Steffl für diesen Beitrag:
  • Enclave, Gast 123
Top
#35
das funktioniert perfekt. Vielen Dank Smile
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste