Поиск ссылки на ячейку в формуле Excel

Есть ли формула или макрос, который может найти ссылку на ячейку в другой ячейке? Например:

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

есть ли формула, которая принимает C1 в качестве ввода и возврата =1+2?

1 ответ

Решение

Вы можете попробовать эту пользовательскую функцию, чтобы преобразовать ссылки на ячейки, используемые в формуле, в их значения согласно вашему требованию.

Поместите следующую функцию в стандартный модуль, такой как 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 с их соответствующими значениями.

введите описание изображения здесь

Другие вопросы по тегам