VBA入门到进阶常用知识代码总结11

第11集 单元格的选取
27、 单元格的选取
1)单个单元格选取
Sub s()
Range(“a1”).Select
Cells(1, 1).Select
Range(“A” & 1).Select
Cells(1, “A”).Select
Cells(1).Select '按照从左到右,从上到下顺序排列
[a1].Select '简化写法
End Sub
2)相邻单元格区域
Sub d() '选取单元格a1:c5
Range(“a1:c5”).Select
Range(“A1”, “C5”).Select '以A1为顶点,C5为终点的区域:a1:c5,需要加双引号
Range(Cells(1, 1), Cells(5, 3)).Select 'a1:c5,常结合变量使用
Range(“a1:a10”).Offset(0, 1).Select 'b1:b10,offset:向下偏移0行,向右偏移1列
Range(“a1”).Resize(5, 3).Select '以a1为顶点,5行3列的区域a1:c5
End Sub
2)不相邻的单元格区域
Sub d1()
Range(“a1,c1:f4,a7”).Select '不连续区域,共1对双引号
Union(Range(“a1”), Range(“c1:f4”), Range(“a7”)).Select 'union方法,至少需2个参数
End Sub

Sub dd() 'union示例
Dim rg As Range, x As Integer
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
28、 行列的选取
1)行的选取
Sub h()
Rows(1).Select '第1行
Rows(“3:7”).Select '第3到7行
Range(“1:2,4:5”).Select '不连续的行区域,用range表示
Range(“c4:f5”).EntireRow.Select '返回定位单元格的整行,EntireRow属性,常用
End Sub2)
2)列的选取
Sub L()
Columns(1).Select
Columns(“A:B”).Select
Range(“A:B,D:E”).Select
Range(“c4:f5”).EntireColumn.Select '选取c4:f5所在的行
End Sub
29、 重置坐标下的单元格表示方法
Sub cc()
Range(“b2”).Range(“a1”) = 100 '以B2作为新的区域的顶点
Range(“b2”).Range(“b1”) = 200
End Sub
30、 表示正在选取的单元格区域Selection
Sub d2()
Selection.Value = 100
End Sub
31、 练习题1
题目1:
任意选取本工作表中的一个区域,然后把选取区域中的大于0的数字替换为字符“正数”
Sub t1()
Dim rg As Range
For Each rg In Selection
If IsNumeric(rg) And rg > 0 Then rg = “正数”
Next rg
End Sub
32、 练习题2
题目2:
用代码一次选取“A2:C12”区域所有大于0数字所在的行
Sub t2()
Dim rg, rng As Range
For Each rg In Range(“a2:c12”)
If IsNumeric(rg) And rg > 0 Then
If rng Is Nothing Then Set rng = rg
Set rng = Union(rng, rg)
End If
Next rg
rng.EntireRow.Select
End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 245

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104325681