Als Antwort auf diesen Beitrag
Hallo Sabrina,
die 1199 wird in der externen Datei gefunden. Ich hatte mich mit der Ausgabe der MsgBox an deiner auskommentierten Version orientiert. Diese war so angelegt, dass die MsgBox gestartet wird, wenn kein Treffer vorhanden ist.
Wenn die MsgBox bei Treffer gestartet werden soll, muss in der Prozedur:
Sub AbgleichExtern(lfdNr As Variant)
diese Zeile so geändert werden:
If k > 0 Then MsgBox "Lfd. Nummer " & lfdNr & " ist in Datei: " & datN & "! vorhanden", vbOKOnly, "Hinweis"
Der Rest bleibt unverändert. Einzig wenn im Eingabeblatt der eingegeben Wert, weil bereits vorhanden wieder entfernt wird, ist Target leer. Damit wird natürlich auch nichts in der externen Datei gefunden.
Ich hatte da jetzt kein Problem darin gesehen, da diese Nummer ja sowieso wieder entfernt wurde. Sollte dies zwingend anders sein, musst du mir das nochmal mitteilen.
Für dich zum Analysieren:
-Öffne im VBA Editor das Lokalfenster im Menü "Ansicht"
- Klicke mit der Maus in diese Zeile: Call AbgleichExtern(Target) und drücke F9. Damit wird der Haltepunkt gesetzt (roter Punkt)
- Trage 1199 in eine Zelle SpalteA ein. --> wechsle in den VBA-Editor und schaue ins Lokalfenster in Variable arr klicke aufs Plus Zeichen. Da siehst du den Inhalt des Arrays.
Mit F5 steppen kannst du Schritt für Schritt dich durch Schleife steppen. Dann siehst du, wenn k bei Treffer hochzählt.
Schau dir das mal in Ruhe so an. Damit kann man sehr gut überprüfen, wenn was nicht klappt wo die Zusammenhänge nicht passen.
Gruß Uwe