Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
Excel VBA宏,用于根据列值搜索列并在弹出消息中显示行_Vba_Excel - Fatal编程技术网

Excel VBA宏,用于根据列值搜索列并在弹出消息中显示行

Excel VBA宏,用于根据列值搜索列并在弹出消息中显示行,vba,excel,Vba,Excel,我正在寻找一些帮助创建一个Excel宏,该宏将搜索A列中的非空单元格和B列中的空单元格,然后在打开工作簿时显示一个弹出消息框,其中显示了A列中包含名称但B列中没有任何信息的行的信息,以提醒人们完成工作表上的项目 这可能吗?如果是这样的话,请有人帮助代码,使这项工作 非常感谢根据你告诉我的,这是我能提供的。运行它将找到第一个匹配项,其中A列不是空的,B列缺少文本。然后,您可以让您的用户填写它,再次运行它以检查更多信息 Sub checkcolumns() Dim i As Long '100 i

我正在寻找一些帮助创建一个Excel宏,该宏将搜索A列中的非空单元格和B列中的空单元格,然后在打开工作簿时显示一个弹出消息框,其中显示了A列中包含名称但B列中没有任何信息的行的信息,以提醒人们完成工作表上的项目

这可能吗?如果是这样的话,请有人帮助代码,使这项工作


非常感谢

根据你告诉我的,这是我能提供的。运行它将找到第一个匹配项,其中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列缺少文本的情况,则可能无法将其放入消息框中。我已使用另一种解决方案编辑了我的答案,以在一个消息框中显示所有值。