Kopieren von Tabellen und Zellbezügen

Kopieren von Tabellen und Zellbezügen

Nehmen wir an, ich habe „Blatt A“ und „Blatt B“ in derselben Arbeitsmappe.

Blatt B hat eine Zelle, die auf Blatt „A“ verweist, d. h. ='Blatt A '!Q20

Ich möchte Blatt B kopieren und „Blatt C“ in derselben Arbeitsmappe erstellen und ich möchte, dass der Zellverweis (=‘Blatt A‘!Q20) in Blatt C jetzt auf Blatt B verweist, also =‘Blatt B‘!Q20.

Wenn ich Blatt B kopiere und Blatt C erstelle, ist der Zellbezug immer noch ='Blatt A '!Q20

Ich habe Lösungen für ähnliche Probleme gesehen, jedoch nicht beim Kopieren von Blättern innerhalb derselben Arbeitsmappe.

TIA

Antwort1

Versuchen Sie diese Formel inBlatt B:

=INDIRECT("'Sheet "&CHAR(CODE(RIGHT(CELL("filename"),1))-1)&"'!A1")

Bildbeschreibung hier eingeben

Antwort2

Sie können auch eine einfache UDF definieren, die den Namen eines Arbeitsblatts zurückgibt, ofsum dessen Position sich das aktuelle Arbeitsblatt bewegt.

Function sh(ofs As Long) As String
    Dim cw As Long
    cw = Application.Caller.Parent.Index
    sh = Worksheets(cw + ofs).Name
End Function

Der Name des vorherigen Arbeitsblatts lautet sh(-1), der des nächsten sh(1). Jetzt können Sie mit einer Formel auf die Zelle im vorherigen Arbeitsblatt
verweisen :Q20

=INDIRECT("'"&sh(-1)&"'!Q20")

oder

=INDIRECT(ADDRESS(20,17,,,sh(-1)))

verwandte Informationen