[英]evaluated result of indirect function in VBA
我正在編碼 VBA 並想評估特定單元格是否引用其他工作表中的單元格。 我通常通過分析“!”之前單元格值中的字符來評估這一點。
但是,當單元格使用“間接”函數引用另一個工作表中的單元格時,此方法不起作用。
例如, =INDIRECT (ADDRESS(row, col,,,sheet_name))
或=INDIRECT ("SUM(" & A1(cell containing sheet_name) &"B2:B3)")
引用其他工作表中的單元格,但我不能在 VBA 中檢測到這一點,因為沒有像“!”這樣的表達式在公式。
那么,有人可以幫我找到是否有任何方法可以評估 VBA 中的間接函數,特別是將=INDIRECT (ADDRESS(2, 1,,,"sheet2"))
轉換為=sheet2!A2
,或其他方法了解包含“間接”功能的單元格是否引用其他工作表中的單元格。
提前感謝您的支持!
試試這個代碼:
Sub getRangeAddress()
Dim oRng As Range
Set oRng = Evaluate("=INDIRECT(Address(2, 1, , , ""Sheet2""))")
If oRng.Parent.Name <> ActiveSheet.Name Then
MsgBox oRng.Address(, , , True)
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.