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