Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

XP SP2;Excel 2002; Makro zum Auffinden identischer Zahlenwerte





Frage

Guten Morgen Fans, in einem Zahlenbereich z.B. A1: A100, darf es keine identischen Zahlenwerte geben. Ich möchte das mit einem Makro überprüfen. Die logische Entscheidung (true oder false) würde mir für die Bestimmung schon genügen. Wie kann ich das anstellen? Gruß Queelun

Antwort 1 von coros

Moin Queelun,

nachfolgend mal ein Code, der Dir die Zellen A1:A100 nach Duplikaten durchsucht und eine Bildschimmeldung ausgibt, welcher Wert doppelt ist und wo sich dieser in Spalte A befindet. Außerdem wird die Zelle mit dem Duplikat markiert. Mit diesem doch recht einfachen Makro prüfe ich auch des öfteren nach Duplikaten. Kopier es in ein StandardModul und starte es über eine Befehlsschaltfläche.

Option Explicit

Sub Duplikate_finden()
Dim Zeile As Integer
For Zeile = Cells(Cells.Rows.Count, 1).End(xlUp).Row To 1 Step -1
If WorksheetFunction.CountIf(Columns(1), Cells(Zeile, 1)) > 1 Then
Cells(Zeile, 1).Select
MsgBox "Der Eintrag  """ & Cells(Zeile, 1).Value & """  ist doppelt vorhanden!" _
      & Chr(13) & "Er befindet sich in Zeile" & Zeile, vbInformation, "Meldung"
End If
Next Zeile
MsgBox "Es wurden keine weiteren Einträge gefunden!", , "Info"
End Sub

Ich hoffe, das hilft Dir schon mal weiter. Wenn Du eine Variable benötigst, die von True auf False oder umgekehrt wechselt, dann musst Du nur z.B. vor der Zeile

Next Zeile

eine Zeile einfügen und dort z.B. die Variable

Vorhanden = True bzw. Vorhanden = False

Setzen. Aber vergiss nicht, in der Zeile

Dim Zeile As Integer

Am Ende ein Komma gefolgt von

Vorhanden As Boolean

Einzugeben, da es sonst durch die Anweisung „Option Explicit“ zu einer Fehlermeldung kommt.

Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Queelun

Moin Moin allerseits,

es hat auf Anhieb geklappt. Besten Dank, Coros. Die beiden ersten Zeilen der For/Next-Schleife werde ich noch intensiv studieren, um dahinter zu steigen.

Gruß
Queelun