Ich versuche, 3 Listen auf einer Seite zu generieren, die den A: A-Bereich der vorherigen 3 Tage Blätter mit der indirekten Formel und Verkettung (zB: INDIREKT ("'") & B2 & "'! A2") wobei B2 gleich dem Namen von t wäre, aber ich muss den Namen des Blattes des Vortages (zB: 10-17) in Zelle B2 ziehenSuchen Sie den Blattnamen eines Arbeitsblatts mit relativer Referenz
Ich habe eine Arbeitsfunktion, die den Wert einer Zelle in einem anderen Blatt durch die relative Position finden kann, aber ich kann nicht durch die relative Position der Blattnamen zu bekommen scheinen.
Function NextSheet(rCell As Range)
Application.Volatile
Dim i As Integer
i = rCell.Cells(1).Parent.Index
NextSheet = Sheets(i + 3).Range(rCell.Address)
End Function
und eine andere Funktion, die den Blattnamen des Blattes zurückgeben kann:
Function SheetName(rCell As Range, Optional UseAsRef As Boolean) As String
Application.Volatile
If UseAsRef = True Then
SheetName = "'" & rCell.Parent.Name & "'!"
Else
SheetName = rCell.Parent.Name
End If
End Function
Aber ich kann nicht sie scheinen zusammen zu verwenden (zB: NextSheet (Sheetname (A2)) oder Sheetname (NextSheet (A2)) Gibt es eine ähnliche Funktion, die ich verwenden könnte, um den Blattnamen durch die relative Position zurückzugeben?
Nebenfrage: Kann ich eine vom Benutzer erstellte Funktion nicht innerhalb einer anderen vom Benutzer erstellten Funktion aufrufen, oder sind sie einfach nicht richtig eingerichtet, um ineinander aufgerufen zu werden?
Wenn Sie NextSheet verwenden, was erwarten Sie als Rückgabe? Derzeit wird der *** VALUE *** einer Zelle auf einer Seite 3 von der Referenz zurückgegeben. Und Sie können den Wert als Bereichsobjekt nicht als Sheetname angeben. –