我需要excel的vba代碼。我正在檢查A1,B7,C9是否爲空的onclick。檢查excel單元格是否爲空
如果它們是空的(任何或所有的變量是/是空的),我需要返回:
「就是如此如此格爲空單擊OK滿足它」
如果沒有的細胞是空的,或者如果它們都不是空的,或者它們包含任何值,我需要返回:
「做我的東西」
有一個特定工作簿的鏈接,但我想在這裏檢查也。
我需要excel的vba代碼。我正在檢查A1,B7,C9是否爲空的onclick。檢查excel單元格是否爲空
如果它們是空的(任何或所有的變量是/是空的),我需要返回:
「就是如此如此格爲空單擊OK滿足它」
如果沒有的細胞是空的,或者如果它們都不是空的,或者它們包含任何值,我需要返回:
「做我的東西」
有一個特定工作簿的鏈接,但我想在這裏檢查也。
這是你在找什麼?
下面的代碼將檢查sheet1-範圍A1,B7,c9。
Sub checkEmptyCells()
With ThisWorkbook.Sheets("sheet1")
If (Len(.Range("A1")) = 0) Then
MsgBox "Cell A1 is empty. Click ok to fill"
Exit Sub
ElseIf (Len(.Range("B7")) = 0) Then
MsgBox "Cell B7 is empty. Click ok to fill"
Exit Sub
ElseIf (Len(.Range("C9")) = 0) Then
MsgBox "Cell C9 is empty. Click ok to fill"
Exit Sub
Else
MsgBox "Do my stuff"
Exit Sub
End If
End With
End Sub
感謝這對我的作品,我只需要替換我的東西的Else MsgBox「做我的東西」。 – user2872175
Sub tgr()
Dim CheckCell As Range
For Each CheckCell In Sheets("Sheet1").Range("A1,B7,C9").Cells
If Len(Trim(CheckCell.Value)) = 0 Then
CheckCell.Select
MsgBox "Cell " & CheckCell.Address(0, 0) & " is empty. Click OK and populate it.", , "Missing Information"
Exit Sub
End If
Next CheckCell
'All cells filled, code to Do My Stuff goes here
MsgBox "Do my stuff", , "Continue macro"
End Sub
如果你關心,如果細胞是真正爲空,你需要使用IsEmpty函數的Value屬性。對於帶單撇號的單元格或返回空字符串的函數,這將返回false。
Public Function CellsAreEmpty(ParamArray aCells() As Variant) As Boolean
Dim vItm As Variant
Dim bReturn As Boolean
bReturn = True
For Each vItm In aCells
bReturn = bReturn And IsEmpty(vItm.Value)
Next vItm
CellsAreEmpty = bReturn
End Function
Sub TestCells()
If CellsAreEmpty(Range("A1"), Range("B7"), Range("C9")) Then
Debug.Print "Do stuff"
Else
Debug.Print " is so so so cell is empty click ok to fill it"
End If
End Sub
如果你更喜歡使用非vba解決方案,那麼你可以條件格式。 它不會給出消息框,但會突出顯示單元格時它們是空白的。
要使用條件格式按照以下步驟
你能告訴我們你是怎麼實現到現在你attemps? – mucio
如果任何答案適用於您,請點擊旁邊的複選標記接受答案。 http://stackoverflow.com/about – Santosh