セルを取り、そのセルが参照する範囲を返す VBA 式を考え出そうとしています。これは私がこれまでに持っているものです:
Function GetAddressCellPointsTo(ByRef src As Range) As Range
On Error GoTo InvalidSrc
referenceText = Replace(src.Formula, "=", "")
Set GetAddressCellPointsTo = Range(referenceText)
Exit Function
InvalidSrc:
err.Raise 1, "GetAddressCellPointsTo", "The formula of the source cell must be a single reference to another cell or range."
End Function
問題は、セルに有効な範囲が含まれていない場合、またはソースセルで参照が完全に修飾されていない場合 (つまり=A1
vs =Sheet1!A1
)、またはセルが名前付き範囲。
私がやりたいことは、セルが指している場合は範囲への参照を確実にプルし、そうでない場合はエラーメッセージを返すことです。