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
Case
27.04.2026 23:39:52
Wenn ich dich...
Moin Sabrina, :-)

... richtig verstanden habe, dann so: ;-)

Option Explicit

Const strPath As String = "C:\Temp\"
Const strFile As String = "180621.xlsm"
Const strSheet As String = "Test"
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim blnDoppelt As Boolean
Dim wksSheet As Worksheet
Dim varMatch As Variant
Dim lngNr As Long
On Error GoTo Fin
If Not Intersect(Target, Sh.Range("A10:A1000")) Is Nothing Or Not Target.CountLarge > 1 Or Not Target = "" Then
Application.EnableEvents = False
lngNr = Target.Value
For Each wksSheet In Worksheets
varMatch = Application.Match(Target.Value, wksSheet.Range("A10:A10000"), 0)
If Not IsError(varMatch) Then
If wksSheet.Name <> Sh.Name Or varMatch + 9 <> Target.Row Then
MsgBox "Lfd. Nr. " & Target & " bereits vorhanden in " & wksSheet.Name & " A" & varMatch + 9, vbExclamation
Target = ""
Target.Select
blnDoppelt = True
Exit For
End If
End If
Next wksSheet
If blnDoppelt Then
If IsError(ExecuteExcel4Macro("MATCH(" & lngNr & ",'" & strPath & "[" & strFile & "]" & strSheet & "'!R9C3:R2000C3,0)")) Then MsgBox "Nummer " & lngNr & " in " & strFile & " nicht vorhanden!"
End If
End If
Fin:
Application.EnableEvents = True
End Sub


Ist mit deiner (externen) Beispieldatei (180621.xlsm) getestet. ;-)

Anpassen musst du die drei Const. ;-)
Und das hier "R9C3:R2000C3" sucht in der externen Datei in Spalte C von Zeile 9 bis 2000. ;-)
R = Row und C = Column. ;-)

Servus
Case

Als Antwort auf diesen Beitrag
Sabrina
27.04.2026 19:52:47
Code funktioniert nicht @Uwe
Hallo Uwe, vielen Dank für den Code ... aber ...

Nr. 1199 ist in beiden Dateien vorhanden.
Gebe ich sie dennoch ein, erscheint MSGBox "ist bereits in TB ... vorhanden" ==> Das ist ja ok aber danach kommt die MSGBox: "Ist nicht in Test_Otto" vorhanden. ==> Das ist falsch, da sie vorhanden ist.

LG Sabrina

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.