Etwas genauer und mein Quellcode
Ist in jeder Zelle immer nur eine Zahl?
Soll die Zelle leer stehenbleiben, oder die zugehörige Zeile
gelöscht werden?
Die Zellinhalte bestehen aus fünfstelligen Zahlen, die Zeilen mit den mehrfachen Zellinhalten sollen gelöscht werden. Es gibt ca. 200 Zeilen.
sucheanfang = **
Tabellenende = **
Spalte = **
Vergleichanfang = **
For x = sucheanfang To Tabellenende - 1
For i = Vergleichanfang To Tabellenende
If Worksheets("**").Cells(i, Spalte).Value =
Worksheets("**").Cells(x, Spalte).Value Then
Worksheets("**").Cells(i, Spalte) = „“
Next i
Vergleichanfang = Vergleichanfang + 1
Next x
Anwar
Mir ist noch nicht klar, wo im oberen Skript etwas passiert. Wenn ich es richtig sehe, besteht es doch aus zwei Schleifen und dem Vergleich eines jeden Zellinhalts mit jedem.
Wie kann ich bei einem erfolgreichen Vergleich wissen, ob es der erste ist (Zeile soll stehen bleiben) oder ein weitere (Zeile löschen)?
Wenn ich nach einem erfolgreichem Vergleich Zeilen lösche, dann verändert sich doch die Zeilennummer. Das müsste doch völliges Durcheinander für diese Funktion bedeuten.
Mein Quellcode:
Private Sub CButZeilen_Click()
Dim p As Integer 'Zählvariable für Zeilen
Dim q As Integer 'Zählvariable für Zeilen
Dim r As Integer 'zählt Übereinstimmungen
ReDim multiinhalt_l(1) 'mindestens eine Position, damit es in Schleife gefüllt werden kann
p = 2
Do Until ActiveWorkbook.Worksheets.Item(1).Cells(p, spalteident).Value = „“
r = 0
q = 2
Do Until ActiveWorkbook.Worksheets.Item(1).Cells(q, 5).Value = „“
If (ActiveWorkbook.Worksheets.Item(1).Cells(p, 5).Value = ActiveWorkbook.Worksheets.Item(1).Cells(q, 5).Value) = (p q) Then
r = r + 1
End If
q = q + 1
Loop
If r > 0 Then 'Speicher der mehrfachen Ident-Nr. füllen
s = UBound(multiinhalt_l)
ReDim Preserve multiinhalt_l(s + 1)
multiinhalt_l(s) = ActiveWorkbook.Worksheets.Item(1).Cells(p, 5).Value
End If
p = p + 1
Loop
End Sub
Ich erhalte also ein Array multiinhalt_l mit Nennungen der mehrfachen Inhalte, wo zwischen dem erstmaligen Auftreten eines Inhalts und dem weiteren Auftreten nicht unterschieden werden kann. Und was nun?