vba第二十五課
單元格區域
Range:代表某一單元格、某一行、某一列、某一選定區域
寫法:range(「文件型單元格地址」),因為是文本型所以要加上雙引號,如果引用的區域有變量,則變量不能用雙引號,只能用連接符」&」,如Range("a" & i).Select,有雙引號的表a列,i是變量不用雙引號,表示i列
例:
Sub 單元格區域()
Dim i%
Range("a1").Select 『選中A1單元格
Range("a:a").Select 『選中A列
Range("1:1").Select 『選中第一行
Range("a1:f11").Select 『選中A1:F11單元格區域
Range("a1:f5,a7:f11").Select 『選中A1:F11和A7:F11不連續的單元格區域
i = Application.CountA(Range("a:a")) 『引用函數countA統計非空單元格的數量
Range("a" & i).Select
End Sub
Cells:不能像range那樣引用一個區域,只能引用一個單元格
寫法:cells(行號,列號)
例:
Sub 單元格區域1()
Cells(3, 4).Select 『選中D3單元格
Cells(2, "c").Select 『選中C2單元格,字母要用引號
Cells.Select 『全選
End Sub
例:
Sub 嵌套使用()
a = Cells(3, 4).Address
b = Cells(3, 4).Address(0, 0)
Range("a1:" & Cells(3, 4).Address(0, 0)).Select
End Sub
注釋:這種嵌套的使用方法經常用到,主要是在判斷最後一行或最後一列時使用,沒有掌握這種語句的寫法,基本上VBA你就不會使用
Cells(3, 4).Address(0, 0))表示D4單元格,但直接加cells(3,4)沒有後面的address(0,0)程序會報錯,其實不加(0,0)也是可以的,不加的話表示絕對引用(Cells(3, 4).Address =$D$3),加了的話表示相對引用(Cells(3, 4).Address(0,0) =D3)
還有一種單元格區域的表示方法:[單元格區域]
例:
Sub 單元格區域2()
[a1:f11].Select
[a2].Select
End Sub
但是這種寫法不支技變量,這是一種簡寫的方式
注意:在上面幾個例子中所有單元格或單元格區域的引用都未加工作表名,表示是所有單元格或區域是當前活動表內的,如果不是當前活動表內的必須加上工作表名,如:sheets(2).range(「a1」),sheets(1).cells(3,4) 等
如果覺得有幫助的話記得關注和點讚,有不懂的地方可以私信我,需要表格素材的也可私信給我轉發給你們。
如果各位在實際工作中遇見excel常規方法無法解決的或操作比較複雜的報表可以私信我,可以免費編寫代碼來解決!