以下代码来自上一个问题
我的问题 - 如果查找和搜索值是公式,我该如何使用? ..我尝试过更改.Value2,但似乎没有用。
With Sheets("SheetName") ' Change to your actual sheet name
Dim r As Range: Set r = .Range("C10:G10").Find(.Range("A10").Value2, , , xlWhole)
If Not r Is Nothing Then r.Offset(4, 0).Resize(5).Value2 = .Range("A14:A18").Value2
结束
答案 0 :(得分:2)
如果您要查找公式的结果,则需要为LookIn参数指定xlValues
。如果为空,则默认为xlFormulas
。例如,要查找在Sheet“foo”上产生“Bar”(即=CONCATENATE("B","a","r")
)的任何公式,您可以这样做:
With ActiveWorkbook.Sheets("Foo")
Dim r As Range
Set r = .UsedRange.Find("Bar", , xlValues, xlWhole)
If Not r Is Nothing Then
Debug.Print r.Address
End If
End With
如果要查找包含实际公式的工作表,可以完全省略LookIn参数或明确指定它:
With ActiveWorkbook.Sheets("Foo")
Dim r As Range
Set r = .UsedRange.Find("=CONCATENATE(""B"",""a"",""r"")", , _
xlFormulas, xlWhole)
If Not r Is Nothing Then
Debug.Print r.Address
End If
End With