Excel VBA代码来选择非空单元
在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
,用途:
您的数据总是从B2,C2,有没有空白单元格其间?如果是这样,你可以设置一个变量是“最后填充行”
lastRow = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
Range("B2:C" & lastRow).Select
,并定义范围从B2到C“最后一排” http://stackoverflow.com/的
“...定义范围从B2到C”最后一行“”。 究竟如何,?我不确定你的意思是什么 –
检查编辑版本 –
完美的作品,谢谢 –
使用循环
Range("B2:C7").CurrentRegion
完美地工作,谢谢 –
可能的复制问题/ 821364 /选择非空白单元格在excel-with-vba –
@ k.dkhk如果从“范围(B2:C7)”中将单元格“B4”和“C4”清除,如此你需要选择'Range(B2:C3)',或者你仍然需要选择'Range(B2:C7)'? – Vasily