vba选择当前范围,但不带N/A
我有一个范围,它是一个时间和一个像这样的数字,其中时间在单元格A1中:vba选择当前范围,但不带N/A,vba,excel,Vba,Excel,我有一个范围,它是一个时间和一个像这样的数字,其中时间在单元格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。有没有一种简单的方法可以在没有N/As的情况下获得RNG对象的范围。我希望这样做时
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。有没有一种简单的方法可以在没有N/As的情况下获得RNG对象的范围。我希望这样做时不要在范围内循环。这可能吗?你能用特殊的电池吗
我应该说,我需要将这个范围读取到一个2D数组中,而不需要NAs。当我尝试使用autofilter筛选NAs时,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
谢谢大家! 我个人会这样做: .按“数字”列降序排列范围我相信N/A将出现在底部 使用。查找以查找第一个NA 从Activecell.Row-1中选择 -或- 如果您不在乎保持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
此代码将删除所有不适用的行
代码取自:为什么不应用筛选器并仅选择可见单元格?问题是,我必须将其读入2D数组,并且在执行此操作时:RangeA1.选择rngAddress=RangeA1.CurrentRegion.Address Selection.AutoFilter ActiveSheet.RangerngAddress.AutoFilter字段:=2,标准1:=N/A,运算符:=xlFilterValues RangerngAddress。选择Set rng=Selection.SpecialCellsxlCellTypeVisible rng。选择Arr=rng