如何修改VBA代码实现选中指定区域(C7:I15)中有值的单元格?
修改后的VBA代码
Sub Testa() Dim cell As Range, rng As Range With Sheets("Sheet1") ' 遍历指定区域C7:I15内的每个单元格 For Each cell In .Range("C7:I15") If cell.Value <> "" Then If rng Is Nothing Then Set rng = cell Else Set rng = Union(rng, cell) End If End If Next cell ' 检查是否找到非空单元格,避免报错 If Not rng Is Nothing Then rng.Select Else MsgBox "指定区域内没有包含数据的单元格" End If End With End Sub
关键修改说明
- 移除原代码中计算G列最后一行的
LR变量:因为目标区域是固定的C7:I15,不需要动态获取行号 - 替换循环范围:把原代码中遍历G列的逻辑,改成直接遍历
C7:I15这个指定区域 - 增加空值判断:当指定区域内没有非空单元格时,弹出提示而不是触发运行时错误
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

