Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Doppelter Einträge per VBA verhindern mit Ausnahme

Doppelter Einträge per VBA verhindern mit Ausnahme
04.08.2019 23:34:35
Thomas
Hallo an alle Excel Nerds,
ich habe mir in den letzten Tage unter Zuhilfenahme des Internets eine umfangreiche Excel-Datei mit einigen Makros aufgebaut. Ich habe eigentlich zu allen Problemen die sich mir stellten eine Lösung oder zumindest einen Ansatz gefunden. Nun stecke ich allerdings tatsächlich fest.
Folgende Problematik ergibt sich aktuell bei mir:
Über ein Makro werden Daten aus verschiedenen Sheets in ein anderes Sheet eingefügt (Transpondernummer, Name, Datum, Uhrzeit,...). Das funktioniert soweit alles auch aller bestens.
Nun möchte ich per VBA verhindern, dass in dem Ziel-Sheet doppelte Einträge eingefügt werden.
Das habe ich folgendermaßen hinbekommen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range("A1:A9999")
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Intersect(Bereich, Target) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Bereich, Target.Value) > 1 Then
MsgBox ("Doppelter Eintrag festgestellt")
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Target.Select
End If
End Sub
Wie gesagt, das funktioniert soweit tadellos. Sobald eine doppelte Transpondernummer versucht wird einzufügen (Diese stehen eben in der Spalte A), erscheint meine kleine Fehlermeldung.
Gibt es aber vielleicht eine Möglichkeit, diesen Code soweit anzupassen, dass ich Ausnahmen einbauen kann.
Bevor die Exceleigene Datenüberprüfung erwähnt wird; Diese habe ich bereits versucht zu verwenden, allerdings scheint diese bei per Makro eingefügten Datensätzen nicht zu greifen.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
einfach noch ein If
05.08.2019 08:21:07
Matthias
Hallo
 If MsgBox("Doppelter Eintrag festgestellt, jetzt löschen", vbYesNo) = vbYes Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
End If
Gruß Matthias
AW: einfach noch ein If
05.08.2019 09:19:55
Thomas
@Matthias
Deine Lösung funktioniert in dieser Form einwandfrei (Auch wenn ich erstmal per Try and Error herausfinden musste, wie genau ich ihn einsetze ;-) ). Ich danke dir schon mal für deine Bemühungen.
Aber gibt es wirklich keine Möglichkeit zwei bestimmte Werte von dieser Datenprüfung auszuschliessen?
Anzeige
AW: einfach noch ein If
05.08.2019 09:27:59
Matthias
Hallo
Nun wenn es nur um bestimmte Werte geht, kannst Du es ja in dieser Zeile hinzufügen:
z.B wenn Du die 23 nicht löschen willst
If Target.Value = "" OR Target.Value = 23 Then Exit Sub
Gruß Matthias
AW: einfach noch ein If
05.08.2019 09:34:12
Thomas
@Matthias
Ich habe schon geahnt, dass es in dieser Zeile noch irgendeine Möglichkeit geben muss.
Es funktioniert genau so wie ich es haben wollte. PERFEKT!
Vielen Dank.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige