|  
                                             Hallo liebe VBA-Programmierer 
ich hoffe ihr könnt mir bei folgendem Problem beistehen. 
In meiner Excel Datei werden per VBA-Makro Daten in der Tabelle "Bestand" gespeichert. 
Die Daten verteilen sich pro Eingabe in einer Zeile auf die zellen "A" bis "J" 
Durch mehrmaliges Anwenden des VBA-Makros zum Speichern enstehen in der Tabelle "Eingabedaten" Duplikate. 
Ich kann bereits mit meinem Code die Daten der Tabelle "Bestand" durchsuchen und in der Tabelle "Eingabe" anzeigen lassen. 
Nur zeigt mir mein Code alle Duplikate einzelnd in einer Zeile an. Wäre es möglich die herausgesuchten Duplikate in der Tabelle "Eingabe" bis auf einen zu löschen 
und in der gleichen Zeile in Zelle "J" die Anzahl der gleichen Datensätze anzuzeigen? 
Mir wäre is nur wichtig das die Suchkriterein/Eingenschaften des Codes gleich bleiben. 
Mein Bestehender Code lautet: 
Dim rBereich As Range 
  Dim sIchsuche As String, sErsteAdresse As String 
  Dim sBer As String, sArr() As String 
  Dim WSh As Worksheet, iZeile As Long, i As Long, iGefunden As Long 
  Dim bCheck As Boolean 
  sIchsuche = TextBox1 
  If StrPtr(sIchsuche) = 0 Then Exit Sub 
  If sIchsuche = "" Then 
     MsgBox "Nix kon ma ned findn!", vbCritical, "Suche" 
     Exit Sub 
  End If 
  Set WSh = Worksheets("Eingabe") 
  WSh.Range("A8:J1000").Clear 
  
 
With Worksheets("Bestand").Range("A:J") 
      sArr = Split(sIchsuche) 
      Set rBereich = .Find(sArr(0), LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False) 
      If Not rBereich Is Nothing Then 
         sErsteAdresse = rBereich.Address 
         Do 
            iZeile = WSh.Cells(Rows.Count, "A").End(xlUp).Row + 1 
            If iZeile < 8 Then iZeile = 8 
            bCheck = True 
            If UBound(sArr) > 0 Then 
               For i = 1 To UBound(sArr) 
                   On Error Resume Next 
                   sBer = rBereich.Row & ":" & rBereich.Row 
                   If Application.WorksheetFunction.Match(sArr(i) & "*", .Range(sBer), 0) = 0 Then 
                      bCheck = False: Exit For 
                   End If 
                  Next i 
               On Error GoTo 0 
            End If 
            If bCheck Then 
               rBereich.EntireRow.Copy WSh.Cells(iZeile, "A").EntireRow 
            End If 
            Set rBereich = .FindNext(rBereich) 
         Loop While Not rBereich Is Nothing And rBereich.Address <> sErsteAdresse 
      End If 
  End With 
 
   
If Worksheets("Eingabe").Range("A8") = "" Then 
MsgBox "'" & sIchsuche & "' hama ned, zefix!" & vbCrLf & vbCrLf & "- schreibs a bissal anders" & vbCrLf & "- ggf bestellen", vbCritical, "Suche" 
End If 
Vielen Dank für die schnelle Hilfe 
Gruß 
Florian  
     |