Ok, hab mir das mal angesehen. Die Formel arbeitet bei mir wie erwartet - es liefert immer den Wert aus der Tabelle "Support", Zelle A2.
Du scheinst jedem Datenbereich einer jeden Spalte per Hand einen Namen gegeben zu haben... verwendest also keine intelligente Tabelle (engl. Smart Table) - dein Screenshot lässt das vermuten.
Du solltest jedoch die Vorteile einer intelligenten Tabelle verwenden:
1) Markiere die gesamte Tabelle und drücke STRG+T (du findest den Befehl auch unter Einfügen > Tabelle). Sobald du eine Zelle der intelligenten Tabelle auswählst, siehst du oben ein neuen Reiter in der Ribbonleiste - Tabellenentwurf. Dort siehst du u.a. den autom. vergebenen Namen der Tabelle, den du dort auch ändern kannst (bei mir ist der Tabellenname "Tabelle1").
Option Explicit
Sub Formel_runter_kopieren()
With Worksheets("Target Data")
.Range("Tabelle1[Deal Stage last Week]").Formula2 = "=IFERROR(INDEX([Deal Stage],MATCH(CONCATENATE(B2,EDATE(A2,-1)),CONCATENATE([Deal ID],[Date Stamp]),0)),Support!$A$2)"
End With
End Sub
Wichtig ist hier Formula2 zu verwenden, siehe auch MSDN.
Grüße
PS: Wie schon jemand vor mir anmerkte. Das @-Symbol bedeutet im wesentlichen, dass du Daten aus der aktuellen Zeile betrachten und verarbeiten willst (die alte, mitunter lang und schwer zu lesende Schreibweise ist mit Raute (#) ... vielleicht kennst du die ja).
|