我有一个包含 82 个工作表的工作簿。
我需要在所有工作表中进行 Vlookup,并在获得所需值时计数。 我做了一个代码来计算工作表的数量,并从 1 到最大工作表数开始一个"for",但是当我在 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。
例如
=IF(AB3 = "True", 1, 0)
。或者,相反,
=IF(AB3 = TRUE, 1, 0)
。并观察该测试的结果。
如果这不起作用,您是否将第 28 列中的内容替换为比"TRUE"更不可预测的内容?