VBA代码优化:遍历指定单元格范围仅触发一次FSFV检查弹窗
优化VBA代码实现单次提示
原代码的问题在于遍历每个单元格时,只要遇到非空单元格就弹出提示,所以会重复触发多次。以下两种方案可以实现仅显示一次提示:
方案一:找到第一个非空单元格后退出循环
遍历单元格范围,一旦发现第一个非空单元格,弹出提示后立即退出循环,不再检查后续单元格:
Sub CheckFSFV() For Each cell In Range("L32:T32") If cell.Value <> "" Then MsgBox "Check with CRA if FSFV was performed and notify RA" Exit For '触发提示后直接退出循环,避免重复弹窗 End If Next End Sub
方案二:利用CountA函数直接判断区域非空情况
借助Excel内置的CountA函数统计区域内非空单元格的数量,只要数量大于0就弹出一次提示,无需逐个遍历,代码更简洁高效:
Sub CheckFSFV() If WorksheetFunction.CountA(Range("L32:T32")) > 0 Then MsgBox "Check with CRA if FSFV was performed and notify RA" End If End Sub
内容的提问来源于stack exchange,提问作者Nic502
相关产品推荐
相关产品推荐

