我有一个时间和数字这样的范围,其中"时间"在单元格A1中:
time number
07:52:55 3
07:53:52 2
07:54:55 #N/A
07:55:52 2
现在我想选择范围,所以我这样做:
Set rng = ActiveSheet.Range("a1").CurrentRegion
这给了我RNG对象中的上述范围但我不想要任何#N / A&#39。是否有一种简单的方法可以在没有#N / As的情况下将该范围放入RNG对象中。我想在没有循环的情况下这样做。这可能吗?你能用特殊电池......?
我应该说我将这个范围内的NAL读入2D阵列。当我尝试使用自动过滤器过滤NA时," Arr"没有完全填充。
Sheets("data").Select
Range("A1").Select
rngAddress = Range("A1").CurrentRegion.Address
Selection.AutoFilter
ActiveSheet.Range(rngAddress).AutoFilter Field:=2, Criteria1:="<>#N/A", Operator:=xlFilterValues
Range(rngAddress).Select
Set rng = Selection.SpecialCells(xlCellTypeVisible)
rng.Select
Arr = rng 'Arr is not populated with the full array
谢谢!
答案 0 :(得分:1)
我个人会这样做:
。按&#39;数字排序范围&#39;列下降(我相信N / As将出现在底部)
use.Find找到第一个NA
从Activecell.Row - 1
-Or -
如果你不关心保持你可以使用的N /:
Sub FormatSheet()
Dim rng As Range
Set rng = Range(Range("K6"), Range("D65536").End(xlUp).Offset(0, 7))
rng.SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete
Set rng = Nothing
End Sub
此代码将删除所有具有N / A
的行代码取自:http://www.mrexcel.com/forum/excel-questions/79525-how-detect-n-using-visual-basic-applications.html