HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2019
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
Sabrina
26.04.2026 19:07:08
AW: Prüfung auf Doppeleingabe Code macht Probleme
Hey, hallo Uwe,

auch dir vielen Dank für den Code. Habe noch "Target.Select" zugefügt und er funktioniert auch, wie gewünscht.

Dennoch habe ich 1 Frage, vielleicht hast du ja Lust und Zeit diese zu beantworten: WARUM 2x eine MSGBox, wobei, die 2. verstehe ich ja noch, aber die 1. nicht, und zwar in Zusammenhang mit: tmp = Split(Right(Z.Address(0, 0, , True), Len(Z.Address(0, 0, , True)) - InStrRev(Z.Address(0, 0, , True), "]")), "!")

Also nur, wenn es nicht zu kompliziert ist, dann nehme ich es einfach so hin 🧐

Vielen Dank Uwe.

VG Sabrine
Als Antwort auf diesen Beitrag
Alwin Weisangler
26.04.2026 12:11:55
AW: Prüfung auf Doppeleingabe Code macht Probleme
Hallo Sabrina,

Mir ist jetzt erst deine Anfrage aufgefallen.
Hier mal ein Weg weitestgehend fehlerbehandelt. und mit Prüfung auf Doppelte im gleichen Blatt.


Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Wks As Worksheet, Z As Range, tmp
If Not Intersect(Target, Range("A10:A10000")) Is Nothing Then
If Target.Text = "" Then Exit Sub
Application.EnableEvents = False
If IsNumeric(Target.Value) Then Target = CDbl(Target.Value)
For Each Wks In Sheets
For Each Z In Wks.Range("A10:A10000").SpecialCells(xlCellTypeConstants)
If Not IsError(Application.Match(Target, Z.Columns(1), 0)) And Z.Parent.Name <> Target.Parent.Name Then
tmp = Split(Right(Z.Address(0, 0, , True), Len(Z.Address(0, 0, , True)) - InStrRev(Z.Address(0, 0, , True), "]")), "!")
MsgBox "Die Lfd. Nr. " & Target & " ist bereits in Zelle: " & tmp(1) & " im Blatt: " & tmp(0) & " enthalten."
Target = ""
Else
If WorksheetFunction.CountIf(Wks.Columns(1), Target) > 1 Then
MsgBox "Die Lfd. Nr. " & Target & " ist bereits in Zelle: " & Wks.Cells(Application.Match(Target, Wks.Columns(1), 0), 1).Address(0, 0) & " im Blatt: " & Target.Parent.Name & " enthalten."
Target = ""
End If
End If
Next
Next
End If
Application.EnableEvents = True
End Sub


Gruß Uwe

Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.