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,括號內(nèi)沒有逗號,數(shù)字與字符串通過&相連诽表,而且需要有空格笙瑟,range語句有點列在前行在后的格式感覺法瑟。cells語句赫蛇,行列之間有逗號阿纤,行在前揖闸,列在后揍堕。
犯過的錯誤有:&前后沒有加空格,cells忘記s汤纸,行列之間沒有加逗號衩茸。
一個單元格選取還可以表示為[a1].select
2.表示相鄰的單元格區(qū)域
Sub tt3()
Range("a1:b2").Select
End Sub
Sub tt4()
Range("a1", "c5").Select
End Sub
'range 語句中,括號內(nèi)還有這種帶有逗號的格式贮泞,逗號兩邊是range的區(qū)域頂點楞慈。
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括號內(nèi)沒有引號啃擦。
下面是選中一個區(qū)域囊蓝,然后此區(qū)域上下或者左右移動。
Sub tt6()
Range("c1:c10").Offset(0, -1).Select
End Sub
下面是先選中頂點令蛉,然后設(shè)定幾行幾列
Sub tt7()
Range("a1").Resize(4, 4).Select
End Sub
3.表示不相鄰的單元格區(qū)域
Sub tt8()
Range("a1,b2:b4,c1").Select
End Sub
或者使用union()函數(shù)慎颗,將不同單元格連接。
Sub tt9()
Union(Range("a1"), Range("b2:b4"), Range("c1")).Select
End Sub
union() 函數(shù)使用例子
題干:想把A列1到10行中言询,所有的偶數(shù)行選出來
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
對于相鄰行選取俯萎,以下兩段代碼結(jié)果一致
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()函數(shù)
Sub tt16()
Range("A:B, E:F").Select
End Sub
重置坐標(biāo)下的單元格表示方法
Sub tt18()
Range("b2").Range("c1") = 100
End Sub
代碼意思為重置坐標(biāo)后辆憔,新的頂點從A1變?yōu)锽2撇眯,所以原來的C1就變成了D2,運行該代碼后虱咧,發(fā)現(xiàn)單元格D2賦值100
正在選取的單元格區(qū)域
Sub tt17()
Selection.Value = 20
End Sub
代碼意思為光標(biāo)所在位置熊榛,也就是正在選取的單元格,賦值為20