如何选择包含大于指定数字的值的范围?

时间:2014-09-12 13:32:42

标签: vba range

我有一些我遇到问题的vba代码。

在B1:B32范围内,只有当值<>时,该值才等于A列。 5,否则我把它设置为零。此部分已在excel中设置。

然后我想只选择B列中那些值不等于0的单元格。 当我尝试运行下面的代码来选择我想要的单元格时,我收到消息&#39;应用程序定义的或对象定义的错误&#39;  我对VBA来说相当新,所以这个问题可能对你们中的一些人来说非常基本。

代码如下:

Sub rangeselect()
    Range("B1").Select
    Dim i As integer

    For i = 1 To 32
        If ActiveSheet.Cells(i, 2).Value = 0 Then
            Range(Cells(1, 2), Cells(i - 1, 2)).Select
        End If
    Next
End Sub

感谢任何建议, 感谢

1 个答案:

答案 0 :(得分:1)

如果所有值都为零,仍然需要一些错误处理,但是对于一个开始,这应该是:

Sub rangeselect()
  Dim my_range As Range
  For Each cell In Range("B1:B32")
    If cell.Value <> 0 Then
        If my_range Is Nothing Then
            Set my_range = cell
        Else
            Set my_range = Union(my_range, cell)
        End If
    End If
  Next
  my_range.Select
End Sub