2017-08-04 179 views
0

大家好,這是我第一次在這裏問一個問題,它可能是非常基本的大多數,但這是我第一次編碼宏。我正在開發一個excel電子表格長長的數據值列表,並且需要刪除一定金額以下的所有行,這部分我已經完美地工作了。但我有空白單元格在同一行作爲分隔不斷被刪除的分組的標題,我需要保留這些。有沒有辦法跳過for循環中的空白單元格。跳過VBA空白單元格爲循環

這裏是我的代碼:

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 
+0

私人小組CommandButton1_Click() 昏暗LASTROW只要中,n只要 對於n = 1000〜1步驟-1 如果細胞(n,9) .Value <1.01 Then Cells(n,9).EntireRow.Delete Next n End Sub – Laur3704

+1

使用[編輯]按鈕(https://stackoverflow.com/posts/45511392/edit)將請求代碼添加到主體的問題。還要確保它在問題中正確縮進/格式化:) –

+0

將'If'語句換成另一個'If'語句來測試空單元格,例如使用'IsEmpty'函數,或者將值與''「'串)。 –

回答

3

加一個條件的if語句,以確保該小區不是空白。像這樣:

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

謝謝!這工作完美 – Laur3704

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