在excel公式中查找对单元格的引用

时间:2018-05-26 14:39:39

标签: excel vba reference formula

是否有公式或宏可以找到对另一个单元格中的单元格的引用? 例如:

   A  |  B  |   C
------------------
1| 1  |  2  | =A1+B1

是否有一个公式以C1作为输入并返回=1+2

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此用户定义函数,根据您的要求将公式中使用的单元格引用转换为其值。

将以下功能放在标准模块上,例如Module1。

Function CellRefereceToValue(ByVal rng As Range) As String
Dim re As Object, Matches As Object, Match As Object
Dim str As String
Set re = CreateObject("VBScript.RegExp")
With re
    .Global = True
    .Pattern = "[A-Z]+\d+"
End With

str = rng.Formula

If re.test(str) Then
    Set Matches = re.Execute(str)
    For Each Match In Matches
        str = Replace(str, Match, Range(Match).Value)
    Next Match
End If
CellRefereceToValue = str
End Function

然后根据下图假设你的公式在C2中,在下面的工作表中使用此函数...

=CellRefereceToValue(C2)

在下图中,Excel公式放在C列中,公式文本放在D列中以显示在C列中使用的公式,然后在E列中,您可以看到UDF替换公式中使用的所有单元格引用C列中的相应值。

enter image description here