http://www./study.asp?vip=10241777 資料學(xué)習(xí)的網(wǎng)址
'單元格
'Range 對(duì)象
'代表某一單元格,某一行,某一列,某一區(qū)域(該區(qū)域可包含一個(gè)或若干個(gè)單元格)
'range("文本型裝單元格地址")
'range 的常見的用法
Sub rng()
Range("a1").Select '單元格選擇
Range("a:a").Select '列
Range("1:3").Select '多行
Range("a1:b10").Select '相鄰區(qū)域單元格
Range("a1:b10,c4:d8").Select '不相鄰區(qū)域 用 , 表示加選
Range("a1:b10 a5:d8").Select '不相鄰區(qū)域 空格的話就是2個(gè)區(qū)域相交 交選
End Sub
'寫法 range("文本型裝單元格地址","文本型裝單元格地址")
Sub rng變化()
Range("a1:b10").Select ' 一般寫法
Range("a1", "b10").Select ' 變化寫法
Range(Range("a1"), Range("b10")).Select ' 變化寫法2
Sheet3.Range("a1") = 123
End Sub
Sub 單元格對(duì)象例子()
Debug.Print Range("a:a").Count '計(jì)數(shù)工作表最大的行數(shù)
Debug.Print Range("1:1").Count '計(jì)算工作表最大的列數(shù)
Debug.Print Application.CountA(Range("a:a")) '計(jì)算工作表已使用的行數(shù) 計(jì)算最后一行
Debug.Print Application.CountA(Range("1:1")) '計(jì)算工作表已使用的列數(shù) 計(jì)算最后一列
End Sub
Sub 序號(hào)表示法()
Range("b2:d4").Range("a1").Select '相對(duì)引用的寫法
'參照前一個(gè)range單元格的左上單元格
End Sub
Sub range的變量支持()
Dim s%
s = 3
Range("A" & s).Select '變量
Range("C3:E5")(2).Select '在這個(gè)區(qū)域中的 第2個(gè)單元格
End Sub
Sub 實(shí)例動(dòng)態(tài)單元格或區(qū)域()
Dim i As Integer
i = Application.CountA(Range("a:a")) '找到 a 列已使用的單元格
Range("d" & i).Select ' d列最后一個(gè)單元格
Range("a1:d" & i).Select ' 動(dòng)態(tài)區(qū)域選擇
Range("a1", "d" & i).Select ' 動(dòng)態(tài)區(qū)域選擇
End Sub
'range區(qū)域的每個(gè)單元格,我們也可以用索引號(hào)表示出來
'寫法:range("單元格區(qū)域")(行號(hào),列號(hào))
Sub 索引號(hào)取出range單元格()
Range("a1", "c4")(2).Select '引用順序是從左到右 ,從上到下
Range("a1", "c4")(4).Select ' 以前一個(gè)單元格為區(qū)域
Range("A1:c4")(4.5).Select '當(dāng)有小數(shù)點(diǎn)的時(shí)候去整數(shù) "四舍六入五單雙" 的算法 為5時(shí)整數(shù)部分為單數(shù)就進(jìn)一位
End Sub
Sub 行列號(hào)定位()
Range("A1:C3")(2, 2).Select '利用行號(hào),列號(hào)定位
Range("A1:C3")(1.5, 2.5).Select
End Sub
Sub 小結(jié)() '計(jì)算大于1000的單元格相加
Dim i, k As Integer
Dim Sum, s As Integer
For i = 1 To 60
Range("b1:c15").Select
s = Range("b1:c15")(i) '在b1:c15 單元格區(qū)域中 根據(jù)索引值循環(huán)取出
If s > 1000 Then
Sum = Sum + s
k = k + 1
End If
Next
MsgBox Sum
End Sub
'''=================================
'cells 單元格引用
'寫法 cells (行號(hào),列號(hào))
Sub cells基本寫法()
Cells(3, 4).Select '行列號(hào)均為數(shù)字
Cells(2, "c").Select '行為數(shù)字 ,列為列字母
Cells.Select '全選
End Sub
'cells 不能像 range 一樣引用一個(gè)區(qū)域.只能引用一個(gè)單元格
Sub cells參照寫法()
Range("a1:d5").Cells(2, 3).Select
Range("a1:d5").Cells(6).Select 'cells(6) 只有一個(gè) 在區(qū)域按從左到右 從上到下 數(shù) 第6個(gè)
Range("a1:d5")(6).Select '沒有 .... 與上句相等
End Sub
'cells 還能嵌套在range中
Sub 嵌套()
Range(Range("a1"), Range("d5")).Select '這種嵌套寫變量比較麻煩
Range(Cells(1, 1), Cells(5, 4)).Select '這種嵌套寫變量比較方便
End Sub
Sub 動(dòng)態(tài)引用行列區(qū)域() '''動(dòng)態(tài)
Dim a, b As Integer
Range("a:a").Select
Range("1:1").Select
a = Application.CountA(Range("a:a")) '行
b = Application.CountA(Range("1:1")) '列
Range(Cells(1, 1), Cells(a, b)).Select
End Sub
''=======================
''除了前面的 range /cells 單元格區(qū)域的表示方法,還有一種簡單的寫法
'寫法 :[單元格地址]
Sub 單元格簡寫()
[a3].Select '單元格引用
[b1:c2].Select '單元格區(qū)域引用
[a3,b1:c2,c2:d4].Select '多區(qū)域單元格引用
[a:a].Select '整列引用
[1:1].Select '整行引用
End Sub
'單元格簡寫 也支持引用子集
Sub 子集引用()
[a1:d4].Select
[a1:d4].Item(4).Select '' 效果相同
Range("a1:d4")(4).Select '' 效果相同
Range("a1:d4").Item(4).Select '' 效果相同
[a1:d4].Cells(4).Select '' 效果相同
End Sub
Sub 動(dòng)態(tài)區(qū)域引用()
Dim a, b As Integer
a = Application.CountA([a:a]) 'a列的有效 行數(shù)
b = Application.CountA([1:1]) '第1行的有效 列數(shù)
Range(Range("a1"), Range(Chr(64 + b) & a)).Select '麻煩 利用chr 函數(shù) chr 64位開始是字母
End Sub
Sub chr函數(shù)字符循環(huán)()
For i = 1 To 6553
Cells(i, 1) = i
Cells(i, 2) = Chr(i)
Next
End Sub
''====================
'行 row 列 column 引用
Sub 列引用()
Columns(1).Select '第一列
Columns("c").Select '第C 列
Columns("c:e").Select '第C:E 列
End Sub
Sub 行引用() '單行"" 可加可不加
Rows(1).Select
Rows("2").Select
Rows("2:4").Select
End Sub
Sub range行列引用()
Range("a:a").Select 'A列
Range("1:1").Select '第一行
[a:a].Select '簡寫法
[1:1].Select '簡寫法
End Sub
Sub 全選()
Rows.Select '全選
Columns.Select
i = Rows.Count '行
j = Columns.Count '列
s = Cells.Count
End Sub
Sub 動(dòng)態(tài)引用區(qū)域()
i = Application.CountA(Columns(1)) ' 在a列中 有幾個(gè)非空單元格
i = Application.CountA(Columns("a")) ' 在a列中 有幾個(gè)非空單元格
j = Application.CountA(Rows(1)) '在第1行中 有幾個(gè)非空單元格
Range("a1", Cells(i, j)).Select
End Sub
'=========================================
'range.row 屬性
'返回區(qū)域中第一個(gè)子區(qū)域的第一行的行號(hào) (左上單元格)
'range.column 屬性
'返回指定區(qū)域中第一塊中的第一列的列號(hào)(左上單元格)
Sub text()
i = Range("a3:b9").Range("a5").Row ' A3-B9 指定區(qū)域中 A5 單元格的的行號(hào)
j = Range("a3:b9").Row '指定區(qū)域中 (左上單元格)的行號(hào)
i = Range("a3:b9").Range("a5").Column '指定區(qū)域中 A5 單元格的的列號(hào)
j = Range("a3:b9").Column '指定區(qū)域中 (左上單元格)的列號(hào)
End Sub
Sub row應(yīng)用()
For Each rw In Rows("1:13") 'row 第一行到第13行
If rw.Row Mod 2 = 0 Then '行 是否被2整除
rw.RowHeight = 10
rw.Value = 12
End If
Next
End Sub