Excel VBA宏,用于根据列值搜索列并在弹出消息中显示行
我正在寻找一些帮助创建一个Excel宏,该宏将搜索A列中的非空单元格和B列中的空单元格,然后在打开工作簿时显示一个弹出消息框,其中显示了A列中包含名称但B列中没有任何信息的行的信息,以提醒人们完成工作表上的项目 这可能吗?如果是这样的话,请有人帮助代码,使这项工作Excel VBA宏,用于根据列值搜索列并在弹出消息中显示行,vba,excel,Vba,Excel,我正在寻找一些帮助创建一个Excel宏,该宏将搜索A列中的非空单元格和B列中的空单元格,然后在打开工作簿时显示一个弹出消息框,其中显示了A列中包含名称但B列中没有任何信息的行的信息,以提醒人们完成工作表上的项目 这可能吗?如果是这样的话,请有人帮助代码,使这项工作 非常感谢根据你告诉我的,这是我能提供的。运行它将找到第一个匹配项,其中A列不是空的,B列缺少文本。然后,您可以让您的用户填写它,再次运行它以检查更多信息 Sub checkcolumns() Dim i As Long '100 i
非常感谢根据你告诉我的,这是我能提供的。运行它将找到第一个匹配项,其中A列不是空的,B列缺少文本。然后,您可以让您的用户填写它,再次运行它以检查更多信息
Sub checkcolumns()
Dim i As Long
'100 is the last row you want to check. Change accordingly
For i = 1 To 100
'Change Sheet1 to your worksheet name
If ActiveWorkbook.Worksheets("Sheet1").Range("A" & i).Value <> "" And ActiveWorkbook.Worksheets("Sheet1").Range("B" & i).Value = "" Then
MsgBox "Row " & i & " is missing a value in column B!", vbExclamation, "Missing value!"
Exit Sub
End If
Next i
MsgBox "Search complete, all values are in place!", vbInformation, "Success!"
End Sub
子检查列()
我想我会坚持多久
'100是要检查的最后一行。相应地改变
对于i=1到100
'将Sheet1更改为您的工作表名称
如果ActiveWorkbook.Worksheets(“Sheet1”).Range(“A”&i).Value”和ActiveWorkbook.Worksheets(“Sheet1”).Range(“B”&i).Value=”“,则
MsgBox“行”&i&“在B列中缺少值!”,VBEquipment,“缺少值!”
出口接头
如果结束
接下来我
MsgBox“搜索完成,所有值都已就位!”,vbInformation,“成功!”
端接头
要在一条消息中显示所有内容,请执行以下操作:
Sub checkcolumns()
Dim i As Long
Dim message As String
For i = 1 To 100
If ActiveWorkbook.Worksheets("Sheet1").Range("A" & i).Value <> "" And ActiveWorkbook.Worksheets("Sheet1").Range("B" & i).Value = "" Then
message = message + "Row " & i & " is missing a value in Column B! "
End If
Next i
MsgBox message, vbInformation, "Success!"
End Sub
子检查列()
我想我会坚持多久
将消息设置为字符串
对于i=1到100
如果ActiveWorkbook.Worksheets(“Sheet1”).Range(“A”&i).Value”和ActiveWorkbook.Worksheets(“Sheet1”).Range(“B”&i).Value=”“,则
message=message+“行”&i&“在B列中缺少值!”
如果结束
接下来我
MsgBox消息,vbInformation,“成功!”
端接头
是的,这是可能的。你能帮助我使用我需要的VBA代码吗?是的-到目前为止你都尝试了什么?我在VBA方面有点新手,所以我甚至不知道从哪里开始这种编码。我只做了基本的宏按钮,从视图和宏密码框中显示和隐藏工作表。太好了,谢谢!是否要在弹出框中显示所有缺少信息的行?当它弹出消息时:第2行在B列中缺少一个值!然后停止,即使下面还有其他信息缺失。是否要在一个框中弹出所有信息,例如:第2行在B列中缺少一个值!第5行在B列中缺少一个值!第6行在B列中缺少一个值!第8行在B列中缺少一个值!第10行在B列中缺少一个值!那么,您要处理多少行?用这个第一个版本,你可以运行它,然后填入空白,再次运行它,它会找到下一个发生。问题是消息框只能容纳这么多文本。如果发现20次出现B列缺少文本的情况,则可能无法将其放入消息框中。我已使用另一种解决方案编辑了我的答案,以在一个消息框中显示所有值。