VBA 单元格的选取
1.表示一个单元格选取
Sub tt()
Range("a1").Select
Cells(1).Select
End Sub
Sub tt1()
Range("b" & 1).Select
End Sub
Sub tt2()
Cells(2, "C").Select
End Sub
'注意上下两个sub语句的不同之处,针对range,括号内没有逗号,数字与字符串通过&相连,而且需要有空格,range语句有点列在前行在后的格式感觉。cells语句,行列之间有逗号,行在前,列在后。
犯过的错误有:&前后没有加空格,cells忘记s,行列之间没有加逗号。
一个单元格选取还可以表示为[a1].select
2.表示相邻的单元格区域
Sub tt3()
Range("a1:b2").Select
End Sub
Sub tt4()
Range("a1", "c5").Select
End Sub
'range 语句中,括号内还有这种带有逗号的格式,逗号两边是range的区域顶点。
Sub tt5()
Range(Cells(1, 1), Cells(3.3)).Select
End Sub
也可以写为
Sub tt5()
Range(Cells(1, "a"), Cells(3, "d")).Select
End Sub
‘注意此处格式,range括号内没有引号。
下面是选中一个区域,然后此区域上下或者左右移动。
Sub tt6()
Range("c1:c10").Offset(0, -1).Select
End Sub
下面是先选中顶点,然后设定几行几列
Sub tt7()
Range("a1").Resize(4, 4).Select
End Sub
3.表示不相邻的单元格区域
Sub tt8()
Range("a1,b2:b4,c1").Select
End Sub
或者使用union()函数,将不同单元格连接。
Sub tt9()
Union(Range("a1"), Range("b2:b4"), Range("c1")).Select
End Sub
union() 函数使用例子
题干:想把A列1到10行中,所有的偶数行选出来
Sub tt10()
Dim x As Integer
Dim rg As Range
For x = 2 To 10 Step 2
If x = 2 Then Set rg = Cells(x, 1)
Set rg = Union(rg, Cells(x, 1))
Next x
rg.Select
End Sub
VBA中表示行
Sub tt11()
Rows("3").Select
End Sub
Sub tt11()
Rows("3:7").Select
End Sub
对于相邻行选取,以下两段代码结果一致
Sub tt13()
Range("1:2").Select
End Sub
Sub tt14()
Rows("1:2").Select
End Sub
对于不相邻的行选取用range()
Sub tt15()
Range("1:2,4:6").Select
End Sub
Sub tt12()
Range("c4:f3").EntireRow.Select
End Sub
VBA中表示列
列基本与行一致,只是换为columns,同理,对于不相邻的列,用range()函数
Sub tt16()
Range("A:B, E:F").Select
End Sub
重置坐标下的单元格表示方法
Sub tt18()
Range("b2").Range("c1") = 100
End Sub
代码意思为重置坐标后,新的顶点从A1变为B2,所以原来的C1就变成了D2,运行该代码后,发现单元格D2赋值100
正在选取的单元格区域
Sub tt17()
Selection.Value = 20
End Sub
代码意思为光标所在位置,也就是正在选取的单元格,赋值为20