Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查有效数据点范围的最快方法。。。避免vba中的循环_Vba_Loops_Memory - Fatal编程技术网

检查有效数据点范围的最快方法。。。避免vba中的循环

检查有效数据点范围的最快方法。。。避免vba中的循环,vba,loops,memory,Vba,Loops,Memory,嗨,我想知道什么是检查一系列数据点以查看这些点是否有效的最快(使用最少内存)方法 假设我有一个rng=范围(“A1:A100”)。我想写一些这样的东西 If c in rng = "N/A Requesting Data..." Then x = false Else Application.OnTime Now() + TimeValue("00:00:05"), "refresh" .... etc. End if 我可以在不循环的情况下执行此操作吗?这将检查A

嗨,我想知道什么是检查一系列数据点以查看这些点是否有效的最快(使用最少内存)方法

假设我有一个rng=范围(“A1:A100”)。我想写一些这样的东西

If c in rng = "N/A Requesting Data..." Then
     x = false
Else
     Application.OnTime Now() + TimeValue("00:00:05"), "refresh" .... etc.    
End if

我可以在不循环的情况下执行此操作吗?

这将检查
ActiveSheet
A1:A100
。如果没有单元格包含“N/A”作为其文本的一部分,则
RangeLooksGood
设置为True

Sub TestRangeForValidContent()
Dim RangeLooksGood As Boolean

With ActiveSheet
RangeLooksGood = (Application.WorksheetFunction.CountIf(.Range("A1:A100"), "*N/A*") = 0)
End With
If RangeLooksGood Then
     Application.OnTime Now() + TimeValue("00:00:05"), "refresh"
End If
End Sub

好。请注意,我用胖手指指了指我的原始代码,并使用了
CountIf(.Range(“A1:A100”),“*N?A*”
。“N?A”中的“?”表示“N”后面跟有任何字符,后面跟有“A”,因此类似“圣诞老人”的东西会被解读为无效单元格。它应该是
CountIf(.Range(“A1:A100”),“*N/A*”
,就像在我的编辑中一样。