Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

mit VBA Zellen löschen
#31
Ja der kommt da doppelt vor mit unterschiedlichen Vornamen
Antworten 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
Antworten 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
Antworten 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
Antworten Top
#35
das funktioniert perfekt. Vielen Dank Smile
Antworten Top


Gehe zu:


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