在VBA中如何判斷單元格是否為空


首先要高亮顯示原作者:http://www.360doc.com/content/17/0422/23/30583536_647746454.shtml

 1 Sub setBlankRowColor()
 2     Dim lngLastRow As Long
 3     Dim i As Long
 4      '獲取工作表中已使用區域最后一行的行號
 5      lngLastRow = Cells(Rows.Count,1).End(xlUp).Row
 6 
 7      '遍歷行
 8      For i = 1 To lngLastRow
 9         '判斷每行中第1列的單元格是否為空
10         If IsEmpty(Cells(i, 1)) Then
11             '若為空則設置該行相應單元格背景色為灰色
12             Cells(i, 1).Resize(1,6).Interior.Color = RGB(225, 225, 225)
13         End If
14     Next i
15 End Sub

在代碼中,我們使用了IsEmpty函數來檢查單元格是否為空。

IsEmpty函數

IsEmpty函數返回布爾值(Boolean值),指明某單元格是否為空。如果單元格為空,則返回True;如果不為空,則返回False。

注意,單元格必須真的是空單元格,該函數才返回True。如果單元格中有我們看不見的空格,該函數也會認為該單元格不為空。

 

其他判斷空單元格的方法

在VBA代碼中,如果要判斷單元格A1是否為空單元格,也可以使用下列方法:

1. Cells(1, 1) = "" 或 Range(“A1”)= ""

2. Len(Cells(1, 1)) = 0 或Len(Range(“A1”))= 0

3. Cells(i, 1) = vbNullString 或Range(“A1”)= vbNullString

4. Application.WorksheetFunction.CountBlank(Cells(1,1))

5. 為了防止單元格中有空格,可以使用:Len(Trim(Cells(i, 1))) = 0

 

用途

判斷單元格是否為空,除了上面的示例應用外,還可以用於提示用戶某單元格中必須要輸入數據。例如下圖所示工作表,如果用戶忘記在單元格A2中輸入姓名,則提示用戶。

代碼如下:

Sub blankcell()

    If IsEmpty(Range('A2')) Then

        MsgBox '單元格A2中必須輸入姓名!'

    End If

End Sub

我們可以把上述代碼與相應的按鈕關聯起來,或者放置在工作表相應的事件中,當用戶保存數據或者退出工作表時提示用戶必須在相應的單元格中輸入數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM