所以我有一个工作表,其中有一堆链接单元设置为UNC路径。例如,假设单元格A1等于:
='\\corp\StackOverflow\[Example01.xlsx]TestSheet'!$A$1
并且单元格A2等于:
='\\corp\StackOverflow\[Example02.xlsx]TestSheet'!$A$1
是否可以为整个工作表的一部分“ StackOverflow”使用CountIf?它将返回2。
Sub Search()
Dim r As Range, s As String, i As Long
Dim ws As Worksheet
s = "StackOverflow"
For Each ws In ActiveWorkbook.Worksheets
Set r = ws.Cells
i = Application.WorksheetFunction.CountIf(r, "*" & s & "*")
MsgBox ("i: " & i)
Next ws
End Sub
这是我正在使用的内容,但它始终返回0,因为我认为它仅查看值。我希望它查看公式的内部(即使该单元格通常返回#REF!错误)。是的,如果它可以查看整个工作表的单元格,因为我想在For Each ws的基础上使用它。
答案 0 :(得分:0)
可以在公式单元格的文本中搜索特定的字符串并增加计数器。
Sub Search()
Dim r As Range, s As String, i As Long
Dim ws As Worksheet
s = lcase("StackOverflow")
For Each ws In ActiveWorkbook.Worksheets
For Each rng In ws.Cells.SpecialCells(xlCellTypeFormulas)
If LCase(rng.Formula) Like "*" & s & "*" Then i = i + 1
Next
Next ws
MsgBox ("i: " & i)
End Sub