我是 VBA 新手。我有一个我认为很简单的问题,但我愚蠢地失败了。我必须生成一个 MsgBox
警告用户在空白单元格中输入数据。
我还必须通过指示前一列中的参数来提及空白单元格的目的地。实际上我的Excel列表很大,但是,我上传的图片展示了我的需求。
在 A 列中,我输入了公司名称 - 法拉利、奥迪和兰博基尼,而在 B 列中,我提到了他们各自的汽车。在 C、D、E 栏中我提到了他们这几个月的销售数据。如果用户未能输入一个条目的销售数字,我需要在他检查数据有效性时警告他。
此图像的消息应该是: 请输入兰博基尼 Aventador 和兰博基尼 Veneno 的销量。
在我的图像中,黄色突出显示表示未输入数据。在我的文件中,我只有一列(仅一个月)用于销售,但有数千行(用于汽车)。
最佳答案
假设您的数据如下所示
试试这个
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
这是运行代码时得到的结果
当一切都填满时
关于excel - 警告用户空单元格并根据前列中的值指示位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16083822/