So mal vorab,es ist ja nett das Du Dir so viel Mühe machst Dein Anliegen zu beschreiben, aber schlau wird man daraus nicht. Bei den entscheidenden Punkten wirst Du so vage das eine Hilfe eigentlich unmöglich ist.
Es wäre viel einfacher wenn Du eine Beispieldatei machst und diese auf Deinen OneDrive (oder anderen Filehoster) lädst und uns zur Verfügung stellst.
So bleibt meine Antwort auch vage und passt ggf. nicht zu Deinem Anliegen:
Dazu braucht es kein Makro, wenn es nur um eine Zeile geht ist es viel einfacher eine Formel mit VERGLEICH zu erstellen die die passende Zeile sucht und dann via INDEX sich die Werte zu holen.
Mit VBA geht das genauso, man sucht via RANGE.FIND nach dem Wert und bekommt ein Range Objekt, dort kann man die Zeile abfragen. Wenn Find NOTHING zurückgibt wurde die ID nicht gefunden.
Set Source = Worksheets("TabelleX").Range("A:A").Find(ID, LookIn:= xlValues, LookAt:=xlWhole)
Danach kann man die Werte ganz normal in irgendwohin schreiben
Range("A2") =Worksheets("TabelleX").Range("S" & Source.Row)
Andreas.