我试图合并多个msgbox,但我无法弄清楚。这里是我的代码:
If InStr(ThisWorkbook.Worksheets("DailyReport").Range("F8").Value, "DCT") > 0 Then
If IsEmpty(Sheet2.Range("G34").Value) Then
MsgBox ("The Following Test is not Performed " & Sheet2.Range("E34").Value)
End If
If IsEmpty(Sheet2.Range("G35").Value) Then
MsgBox ("The Following Test is not Performed " & Sheet2.Range("E35").Value)
End If
If IsEmpty(Sheet2.Range("G36").Value) Then
MsgBox ("The Following Test is not Performed " & Sheet2.Range("E36").Value)
End If
End If
我想在工作表DailyReport
的单元格F8
中搜索单词DCT
,如果它存在,我想查看多个单元格,如G34
、G35
、G36
......。如果这些单元格为空,则显示消息框“未执行以下测试:一米六纳一,一米七纳一,一米八纳一......”
假设G34
和G35
为空,则msg框应显示未执行以下测试:
Cell value in E34
Cell Value in E35
Msgbox
应具有继续和取消按钮
如果用户点击“继续”,则继续sub
如果用户点击“取消”,则退出sub
2条答案
按热度按时间dwthyt8l1#
返回消息框中的组合消息
mrzz3bfm2#
我想查看多个单元格,如G34、G35、G36 ....
如果这些单元格为空,则显示消息框“未执行以下测试:E34、E35、E36 ......”
G34,G35,G36....
看起来这个范围是动态的?还是总是这3个?如果它是动态的,那么你是如何决定范围的。例如,为什么G34
而不是G1
?或者你想检查到哪里?到G
的最后一个单元格?所有这些都将决定你如何编写简洁的vba代码。假设您要检查G
列中的最后一个单元格。如果是从G34
到G60
(* 仅为示例 *),则将For Next
循环从For i = 34 To lRow
更改为For i = 34 To 60
这就是您正在尝试的吗?(UNTESTED)