我有一个包含82个工作表的工作簿。
我需要在所有工作表中执行Vlookup并在获得我需要的值时进行计数。我做了一个代码来计算工作表的数量并从1开始“填充”到最大工作表数,但是当我在Application.vlookup中引用此计数时它不起作用。
这是我的代码:
Function NUMBEROFTIMES(lookup_value)
NUMBEROFTIMES = 0
Dim WS_Count As Integer
Dim I As Integer
' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.Count
' Begin the loop.
For I = 1 To WS_Count
If Application.VLookup(lookup_value, Worksheets(I).Range("A5:AB401"), 28, False) = "True" Then
NUMBEROFTIMES = NUMBEROFTIMES + 1
End If
Next I
End Function
在所有工作表中,我必须搜索我在“lookup_value”中输入的值,返回的是“True”。
谢谢。
TRUE在Excel中很棘手,因为它可能代表正布尔值,1。尝试将代码中的“True”更改为1并重新运行。
更加孤立的测试是明确测试包含True的单元格的内容是否等于字符串True。
EG
=IF(AB3 = "True", 1, 0)
......或者相反,
=IF(AB3 = TRUE, 1, 0)
......并观察该测试的结果。
如果这不起作用,用第二列中的内容替换为“TRUE”不可预测的内容是否切实可行?