excel - 警告用户空单元格并根据前列中的值指示位置

标签 excel excel-2010 msgbox vba

我是 VBA 新手。我有一个我认为很简单的问题,但我愚蠢地失败了。我必须生成一个 MsgBox 警告用户在空白单元格中输入数据。

我还必须通过指示前一列中的参数来提及空白单元格的目的地。实际上我的Excel列表很大,但是,我上传的图片展示了我的需求。

在 A 列中,我输入了公司名称 - 法拉利、奥迪和兰博基尼,而在 B 列中,我提到了他们各自的汽车。在 C、D、E 栏中我提到了他们这几个月的销售数据。如果用户未能输入一个条目的销售数字,我需要在他检查数据有效性时警告他。

此图像的消息应该是: 请输入兰博基尼 Aventador 和兰博基尼 Veneno 的销量。

在我的图像中,黄色突出显示表示未输入数据。在我的文件中,我只有一列(仅一个月)用于销售,但有数千行(用于汽车)。

Snapshot Image

最佳答案

假设您的数据如下所示

enter image description here

试试这个

Private Sub CommandButton1_Click()
    Dim ws As Worksheet
    Dim lrow As Long, i As Long

    Set ws = ThisWorkbook.Sheets("Sheet3")

    With ws
        lrow = .Range("A" & .Rows.Count).End(xlUp).Row

        For i = 4 To lrow
            If Application.WorksheetFunction.CountA(.Range("C" & i & ":E" & i)) <> 3 Then
                MsgBox "Please Enter the number of units of " & .Range("B" & i).Value & " Sold"
                Exit Sub
            End If
        Next i
    End With

    MsgBox "Data Validated"
End Sub

这是运行代码时得到的结果

enter image description here

当一切都填满时

enter image description here

关于excel - 警告用户空单元格并根据前列中的值指示位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16083822/

相关文章:

excel - 在 Excel VBA 中复制图形时清除剪贴板

excel - 忽略 Excel 命名区域中的空白单元格

database - (VBA) For 循环和 DLookup (MS ACCESS)

vba - Excel 中除 MsgBox 之外的消息提醒?

vba - 当我使用 "Professional Excel Development"书中的错误处理方法时如何调试?

excel - 将范围复制/粘贴为 VBA 中的值,而不是整个工作表

vba - 复制/粘贴具有形状的单元格

excel - 如何在 Visual Basic For Applications 中使用 "Class Module"或 "Module"?

windows - 如何使用 MsgBox 在 VBS 中使用用户输入正确配置条件操作?

r - 将列中的每五行相加然后除以十?