Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 当单元格为空时显示消息_Vba_Excel - Fatal编程技术网

Vba 当单元格为空时显示消息

Vba 当单元格为空时显示消息,vba,excel,Vba,Excel,当前,当指定的单元格为空时,我设法对单个单元格执行此操作,然后在单元格上显示消息/语句 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Range("AA17").Value = ISBLANK Then Range("AA17").Value = "Please Specify" End If End Sub 我想做的是,对于几个单元格,它将显示相同的内容。我可以继续对所有celsl执行上面的操作,但

当前,当指定的单元格为空时,我设法对单个单元格执行此操作,然后在单元格上显示消息/语句

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("AA17").Value = ISBLANK Then
    Range("AA17").Value = "Please Specify"
End If

End Sub
我想做的是,对于几个单元格,它将显示相同的内容。我可以继续对所有celsl执行上面的操作,但是我有几百个单元格可以这样格式化它


有没有办法做到这一点?

如果单元格是连续的,您可以在它们之间循环

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim checkRng As Range
Dim cel As Range

Set checkRng = Range("A7:A70")
For Each cel In checkRng
    If cel.Value = ISBLANK Then
        cel.Value = "Please Specify"
    End If
Next cel

End Sub

如果在指定范围内有任何更改,将运行以下代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim Rng As Range
    Dim wb As Workbook
    Dim ws As Worksheet

    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet
    Set Rng = ws.Range("A1:A100")

        If Not Intersect(Target, Rng) Is Nothing Then
            For Each Cell In Rng
                If IsEmpty(Cell.Value) = True Then
                     Cell.Value = "Please Specify"
                End If
            Next
        End If

    Set Rng = Nothing
    Set ws = Nothing
    Set wb = Nothing

End Sub

你是救命恩人!谢谢