跳过VBA的空白单元为循环

时间:2017-08-04 16:15:09

标签: excel vba excel-vba for-loop

大家好,这是我第一次在这里问一个问题,这对大多数人来说可能是非常基本的,但这是我第一次编写宏。我正在开发一个excel电子表格长数据列表,需要删除一定金额下的所有行,这部分我工作得很好。但我有空白单元格与分隔分组的标题在同一行,不断删除我需要保留这些。有没有办法在for循环中跳过空白单元格。

这是我的代码:

Private Sub CommandButton1_Click() 

    Dim LastRow As Long, n As Long 

    For n = 1000 To 1 Step -1 

        If Cells(n, 9).Value < 1.01 Then Cells(n, 9).EntireRow.Delete 

    Next n 

End Sub

2 个答案:

答案 0 :(得分:3)

在if语句中添加条件以确保单元格不为空。像这样:

If Len(Cells(n,9)) and Cells(n, 9).Value < 1.01 Then Cells(n, 9).EntireRow.Delete 

答案 1 :(得分:1)

考虑:

Private Sub CommandButton1_Click()

    Dim LastRow As Long, n As Long

    For n = 1000 To 1 Step -1

        If Cells(n, 9).Value < 1.01 And Cells(n, 9).Value <> "" Then Cells(n, 9).EntireRow.Delete

    Next n

End Sub