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

Duplikaten suchen und Fehlermeldung geben

Forumthread: Duplikaten suchen und Fehlermeldung geben

Duplikaten suchen und Fehlermeldung geben
23.07.2025 23:19:38
Wim370
Hallo,
Verzweifelt versuche ich eine Duplikatensuche mit einer Fehlermeldung zu kreieren...
Ich habe ein Blatt mit Eingabefelder inkl. "Bestätigungs" Button und ein Blatt wo die Daten dann automatisch reingeschrieben werden. Das funktioniert alles auch so weit. Jetzt möchte ich bei einem Eingabefeld z.B. "Name", eine Fehlermeldung bekommen mit "ist schon vohanden" wenn der Name schon vorhanden ist.

Was ich schon versucht habe ist eine Spalte markieren, dann "Daten" - "Datenüberprüfung" - Benutzerdefiniert - Formel: =zählenwenn(A:A;A2)=1. Bei Fehlermeldung dann: "Name ist schon vorhanden" und Typ: Stopp gewählt.

Wenn ich jetzt irgendwo in der Spalte einen doppelten Name eingebe, kommt die Meldung ""Name ist schon vorhanden", also alles gut.
Wenn ich aber jetzt zu den Eingabefeldern gehe, und ich gebe bei "Name" einen doppelten Name ein, wird er einfach in die Tabelle geschrieben ohne Fehlermeldung.

Ist es möglich eine Fehlermeldung zu kreieren wenn ich den doppelten Name im Eingabefeld eingebe? Wäre auch nicht schlimm wenn die Fehlermeldung kommt nachdem ich den "Bestätigungs" Button anklicke.

Grüße und schon Mal Danke!

Anzeige

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
24.07.2025 07:51:07
RPP63
Moin!
Die Datengültigkeit wird "ausgehebelt", wenn man in die Zelle mittels VBA oder auch Strg-v "ungültige" Werte einfügt.
Du verwendest VBA, also musst Du im uns nicht bekannten Makro die Zulässigkeit prüfen.
Dies kannst Du mittels Range.Find-Methode erledigen oder auch mittels Application.Match mit Zuweisung an eine Variant-Variable.

Hier mal mit Match:
Private Sub CommandButton1_Click()

Dim x As Variant
x = Application.Match(TextBox1, Columns(1), 0)
If IsError(x) Then
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = TextBox1
Else
MsgBox TextBox1 & " ist bereits vorhanden!"
TextBox1 = Empty
End If
End Sub

Gruß Ralf
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
27.07.2025 00:15:23
GerdL
Moin Wim,
probier mal:
Private Sub Command_Submit_Click()

'Eingabe Datenfelder übernehmen
Dim last As Integer

'only Row "Callsign" check for duplications
Dim x As Variant
x = Application.Match(Text_Callsign, Columns(2), 0)
If IsError(x) Then
Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = Text_Callsign
Else
MsgBox Text_Callsign & ": Already in the log!"
Text_Callsign = Empty
Text_Callsign.SetFocus
Exit Sub
End If
'......
'......

Gruß Gerd
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
27.07.2025 00:23:25
Wim370
Ja jetzt läufts, genau so möchte ich das gerne haben. Danke schön Gerd!!!!
AW: Duplikaten suchen und Fehlermeldung geben
24.07.2025 13:20:42
Wim370
Moin Ralf und danke für die Info.

Ich versuche mich erstmal etwas mit VBA vertraut zu machen. Verstehe jetzt was gemacht werden muss, muss jetzt noch herausfinden wie ich das alles mache und hinbekomme. Ich habe die Datenbank erstellen können mit Hilfe von YT, jetzt nur noch die kleinigkeiten damit es so funktioniert sowie ich das möchte.

Danke schön!
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
24.07.2025 17:12:08
Wim370
So, habe es hinbekommen. Komplett neues Datasheet gemacht und mit VBA erstellt.
Match von Ralf genommen und läuft. Aber... Nachdem ich die Meldung "ist bereits vorhanden!" bekomme, schreibt er trotzdem die Daten in das Datasheet. Ich möchte gerne das er einfach abbricht nach der Meldung und zurück zur Eingabe geht. Ich möchte dann auch gerne das die vorher eingegebenen Daten (die doppelt gewesen sind) aus den Textfeldern verschwunden sind.
Oder ist es sogar möglich das die Meldung "ist bereits vorhanden" zu bekommen nachdem ich zum 2ten Mal "Müller" ins Textfeld eingegeben habe? Also das ich nicht erst alle Textfelder ausfüllen muss und danach erst die Meldung bekomme nachdem ich Button "Speichern" geklickt habe?

Grüße Wim
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
24.07.2025 17:26:45
RPP63
Nachdem ich die Meldung "ist bereits vorhanden!" bekomme, schreibt er trotzdem die Daten in das Datasheet.
Bei mir nicht …
Ich möchte gerne das er einfach abbricht nach der Meldung und zurück zur Eingabe geht. Ich möchte dann auch gerne das die vorher eingegebenen Daten (die doppelt gewesen sind) aus den Textfeldern verschwunden sind.
Genau das macht mein Codeschnipsel.
Vielleicht solltest Du mal Deine Datei nebst Code hier hochladen?

Gruß Ralf
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
24.07.2025 18:05:58
Wim370
Die Datei hochgeladen, weiss nicht ob die hier jetzt automatisch angezeigt wird.
Code:

Option Explicit

Private Sub Command_Exit_Click()

Unload UserForm1

End Sub
Private Sub Command_Clear_Click()
'not specified yet (Text felder löschen)

End Sub

Private Sub Command_Submit_Click()
'Eingabe Datenfelder übernehmen
Dim last As Integer

'only Row "Callsign" check for duplications
Dim x As Variant
x = Application.Match(Text_Callsign, Columns(2), 0)
If IsError(x) Then
Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = TextBox1
Else
MsgBox TextBox1 & " Already in the log!"
TextBox1 = Empty
End If

last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Cells(last, 1).Value = UserForm1.Text_Date.Value
ActiveSheet.Cells(last, 2).Value = UserForm1.Text_Callsign.Value
ActiveSheet.Cells(last, 3).Value = UserForm1.Text_Name.Value
ActiveSheet.Cells(last, 4).Value = UserForm1.Text_UTC.Value
ActiveSheet.Cells(last, 5).Value = UserForm1.Text_Freq.Value
ActiveSheet.Cells(last, 6).Value = UserForm1.Text_Split.Value
ActiveSheet.Cells(last, 7).Value = UserForm1.Text_Mode.Value
ActiveSheet.Cells(last, 8).Value = UserForm1.Text_R.Value
ActiveSheet.Cells(last, 9).Value = UserForm1.Text_S.Value
ActiveSheet.Cells(last, 10).Value = UserForm1.Text_City.Value
ActiveSheet.Cells(last, 11).Value = UserForm1.Text_Country.Value
ActiveSheet.Cells(last, 12).Value = UserForm1.Text_Pin.Value
ActiveSheet.Cells(last, 13).Value = UserForm1.Text_Pout.Value
ActiveSheet.Cells(last, 14).Value = UserForm1.Text_OrigCall.Value
ActiveSheet.Cells(last, 15).Value = UserForm1.Text_eQTX.Value
ActiveSheet.Cells(last, 16).Value = UserForm1.Text_eQRX.Value
ActiveSheet.Cells(last, 17).Value = UserForm1.Text_EQInfo.Value
ActiveSheet.Cells(last, 18).Value = UserForm1.Text_Info.Value
ActiveSheet.Cells(last, 19).Value = UserForm1.Text_PaperQSL.Value
ActiveSheet.Cells(last, 20).Value = UserForm1.Text_Grid.Value

End Sub

Private Sub UserForm_Initialize()

'Einträge für die Schaltflächen
UserForm1.Text_Date.Value = Date
UserForm1.Text_Callsign.Value = ""
UserForm1.Text_Name.Value = ""
UserForm1.Text_UTC.Value = Time
UserForm1.Text_Freq.Value = ""
UserForm1.Text_Split.Value = ""
UserForm1.Text_Mode.Value = ""
UserForm1.Text_R.Value = ""
UserForm1.Text_S.Value = ""
UserForm1.Text_City.Value = ""
UserForm1.Text_Country.Value = ""
UserForm1.Text_Pin.Value = ""
UserForm1.Text_Pout.Value = ""
UserForm1.Text_OrigCall.Value = ""
UserForm1.Text_eQTX.Value = ""
UserForm1.Text_eQRX.Value = ""
UserForm1.Text_EQInfo.Value = ""
UserForm1.Text_Info.Value = ""
UserForm1.Text_PaperQSL.Value = ""
UserForm1.Text_Grid.Value = ""

End Sub


Grüße Wim
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
24.07.2025 18:06:54
SF
Die Datei hochgeladen, weiss nicht ob die hier jetzt automatisch angezeigt wird.


Nein, du musst den Link zur Datei, der dir nach dem Hochladen angezeigt wir, hier posten.
AW: Duplikaten suchen und Fehlermeldung geben
25.07.2025 18:12:11
Wim370
Bin hier immer noch mit beschäftigt und es klappt alles nicht.

Ich möchte nur 1 Database mit Eingabefeldern erstellen und das geht soweit. Nur wenn ich noch was hinzufügen möchte dann bekomme ich nur Fehlermeldungen.
Gerne möchte ich noch das die Fehlermeldung die oben schon beschrieben ist auftaucht und dann keine Daten in das Datasheet hinzugefügt werden. Gerne noch mit on/off Taste damit ich wenn ich möchte doch Duplikate zulassen kann.
Dann noch das die Daten immer in Zeile 2 eingefügt werden und nicht ganz unten, Rest soll sich dann natürlich 1 nach unten verschieben. Die Aktuellen Daten also immer oben.

Leider kenne ich niemanden der sich hiermit auskennt... Es wird für mich wahrscheinlich auch was einmaliges sein.
Mein vorhaben habe ich hier schon hochgeladen, hoffentlich kann jemand helfen.

LG Wim
Anzeige
AW: Duplikaten suchen und Fehlermeldung geben
26.07.2025 22:17:32
Wim370
So, nach wieder einem Tag bin ich wieder etwas weiter. Nur das mit den Duplikaten läuft immer noch nicht.

Private Sub CommandButton1_Click()
Dim x As Variant
x = Application.Match(TextBox1, Columns(1), 0)
If IsError(x) Then
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = TextBox1
Else
MsgBox TextBox1 & " ist bereits vorhanden!"
TextBox1 = Empty
End If
End Sub

Kann mir jemand sagen was da genau passiert? Vielleicht kann ich so den Fehler finden.

Danke.
Anzeige
AW: Im Anhang ist...
27.07.2025 12:06:18
Wim370
Moin Case,

ja super, genau so habe ich mir das vorgestellt!! Vielen Dank!
Jetzt brauch ich nicht mehr alle Felder auszufüllen bis ich die "doppelt" Fehlermeldung bekomme. Die Gefahr ist natürlich wenn ich z.B. Peter und Peters habe, (das wenn Peter schon drin ist) ich Peters nicht mehr eingeben kann. Ist aber kein Problem, ich kann es ja jetzt ausschalten. Top!

Geändert habe ich noch das nach klicken der "Submit" button, die Eingabefelder wieder leer sind. Den "Clear" Button lasse ich aber trotzdem da, für den Fall das nach mehreren Eingaben doch was falsch ist. So kann ich dann die Felder noch schnell löschen.

Eine Frage habe ich noch, kann man die Uhrzeit noch ändern? Bei "Time" steht ja jetzt unsere Zeit, hätte da gerne noch die UTC Zeit.

Sonst alles gut, super gemacht Case, danke schön!!

LG Wim
Anzeige
UTC
27.07.2025 12:32:27
RPP63
Moin!
Ginge mittels benutzerdefiniertem Zahlenformat.
Dies hat den Vorteil, dass man damit rechnen kann:
 D
1020250727T103057+100

ZelleFormatWert
D10JJJJMMTT\Thhmmss"+100"27.07.2025 10:30:57

ZelleFormel
D10=JETZT()


Gruß Ralf
Anzeige
AW: Im Anhang ist...
27.07.2025 16:19:06
Wim370
Moin Case,

Genau das ist es, jetzt passt alles.

Vielen Dank!!!
Grüße Wim
Anzeige
AW: UTC
27.07.2025 15:19:03
Wim370
Moin Ralf,
Ich möchte die UTC Zeit ja schon in einem Textbox-Eintragung automatisch anzeigen lassen und nach "Submit" butten im Feld "Zeit" eintragen.
So wie ich das gesehen habe geht es nur mit Zeit und Datum, nicht nur mit Zeit. Ich wollte dann Datum und Zeit in Reihe1 anzeigen lassen (wo jetzt nur Datum steht) und Reihe 4/Textbox_4 (Zeit) einfach löschen. Wenn ich Textbox_4 lösche bekomme ich eine Fehlermeldung, also irgendetwas verweist nach Textbox_4.

Grüße Wim
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18