在Excel中,让我们有B2到B7和C2到C7中的数据。在VBA我可以写一个宏来选择它:Excel VBA代码来选择非空单元
Sub Macro1()
Range("B2:C7").Select
End Sub
如何重写代码,使其自动选择那些非空的细胞? 如果我删除单元格B7和C7中的数据,那么我希望宏只选择范围(B2:C6) 如果我将数据添加到单元格B8和C8,那么我希望宏选择范围(B2:C8)。
我的数据总是会启动一个B2,C2,并且数据之间不会有任何空闲空间。如果你想扩大被测试的区域
Sub qwerty()
Dim rng As Range, r As Range, rSel As Range
Set rng = Range("B2:C7")
Set rSel = Nothing
For Each r In rng
If r.Value <> "" Then
If rSel Is Nothing Then
Set rSel = r
Else
Set rSel = Union(rSel, r)
End If
End If
Next r
If Not rSel Is Nothing Then rSel.Select
End Sub
,用途:
可能的复制问题/ 821364 /选择非空白单元格在excel-with-vba –
@ k.dkhk如果从“范围(B2:C7)”中将单元格“B4”和“C4”清除,如此你需要选择'Range(B2:C3)',或者你仍然需要选择'Range(B2:C7)'? – Vasily