Excel用のvbaコードが必要です。A1、B7、C9 がオンクリックで空かどうかを確認しています。
それらが空である場合 (変数のいずれかまたはすべてが空である)、次のように返す必要があり
ます。
どのセルも空でない場合、またはすべてが空でない場合、または値が含まれている場合は、
「Do my stuff」を返す必要があります。
特定のワークブックへのリンクがありますが、ここでも確認したかったのです。
セルが本当に空かどうかが気になる場合は、Value プロパティで IsEmpty 関数を使用する必要があります。これは、単一のアポストロフィまたは空の文字列を返す関数を含むセルに対して 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
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
それはあなたが探しているものですか?
以下のコードは sheet1- Range 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
vba 以外のソリューションを使用したい場合は、条件付き書式を設定できます。メッセージボックスは表示されませんが、セルが空白の場合は強調表示されます。
条件付き書式を使用するには、次の手順に従います