Поиск ссылки на ячейку в формуле Excel - PullRequest
0 голосов
/ 26 мая 2018

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

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

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

1 Ответ

0 голосов
/ 27 мая 2018

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

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

...