Als Antwort auf diesen Beitrag
Moin, :-)
... wenn du
Daniels Vorschlag so umsetzt (
in deiner Beispieldatei getestet): ;-)
MsgBox "Lfd. Nr. " & vntItem & " ist bereits in " & wks.Name & vbNewLine & "in A" & Application.Match(vntItem, wks.Range(conDetectionRangeAddress), 0) + 9 & " vorhanden!", vbExclamation, "A C H T U N G"
Oder auch so: ;-)
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim wksSheet As Worksheet
Dim blnTMP As Boolean
Dim rngRange As Range
Dim varTMP As Variant
On Error GoTo Fin
Set Target = Intersect(Target, Sh.Range("A10:A200"))
If Not Target Is Nothing Then
Application.EnableEvents = False
For Each rngRange In Target
If rngRange <> "" Then
For Each wksSheet In Worksheets
varTMP = Application.Match(rngRange.Value, wksSheet.Range("A10:A" & wksSheet.Cells(Rows.Count, 1).End(xlUp).Row), 0)
If Not IsError(varTMP) Then
If wksSheet.Name <> Sh.Name Or varTMP + 9 <> rngRange.Row Then
MsgBox "Lfd. Nr. " & rngRange.Value & " schon vorhanden in '" & wksSheet.Name & "' A" & varTMP + 9, vbExclamation
Application.Undo
blnTMP = True
Exit For
End If
End If
Next wksSheet
End If
If blnTMP Then Exit For
Next rngRange
End If
Fin:
Application.EnableEvents = True
End Sub
Da ist jetzt noch
nicht berücksichtigt, wenn schon in den eingefügten Daten Dubletten sind. Brauchst du das auch? ;-)
Bin gerade beim Snooker schauen - deshalb nur so. ;-)
Servus
Case