簡體   English   中英

VBA中間接函數的評估結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM