单元格 选取
1 表示一个单元格(a1)
Sub s()//这里每一行都表示a1单元格
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
' Range(Cells(1, 1), Cells(5, 3)).Select
'Range("a1:a10").Offset(0, 1).Select
Range("a1").Resize(5, 3).Select
// 表示从range a1开始 resize第五行C列选取
End Sub
3 表示不相邻的单元格区域,
选取不相邻的单元格
Sub d1()
Range("a1,c1:f4,a7").Select
'Union(Range("a1"), Range("c1:f4"), Range("a7")).Select
End Sub
Sub dd() //union示例,注解是c++
Dim rg As Range, x As Integer // 声明rg,让x为整数
For x = 2 To 10 Step 2 //for(int i = 2 ;i <= 10;i = i+ 2)
If x = 2 Then Set rg = Cells(x, 1) // if(i = 2) string rg = range(Ax)表示a列x行
Set rg = Union(rg, Cells(x, 1)) // else rg = union(旧的rg与Ax的联合)更新
Next x //输出x
rg.Select
End Sub
4 表示行
Sub h()
'Rows(1).Select表示选第1行
'Rows("3:7").Select表示选取第3到第7行
'Range("1:2,4:5").Select '表示不连续的行区域
Range("c4:f5").EntireRow.Select ' 返回到选c4到f5所在的行 4—5
End Sub
5 表示列
Sub L()
' Columns(1).Select 选第一列
' Columns("A:B").Select 选 a和b列
' Range("A:B,D:E").Select 选abhe de
Range("c4:f5").EntireColumn.Select '选取c4:f5所在的列c-f
End Sub
6 重置坐标下的单元格表示方法
Sub cc()
Range("b2").Range("a1") = 100 '重置新坐标系,将原本的a1定义b2作为原点
End Sub
7 表示正在选取的单元格区域
Sub d2()
Selection.Value = 100 '鼠标正在选取的单元格区域填充100
End Sub
练习
题目1:
任意选取本工作表中的一个区域,然后把选取区域中的大于0的数字替换为字符“正数”
Sub one()
Dim rg As Range
For Each rg In Selection //循环每个rg用为正在选用
If IsNumeric(rg) & rg > 0 Then //IsNumeric()函数可以用于判断一个字符串是否是数值,如IsNumeric("1.2")判断为True
rg = "正数"
End If
Next rg
End Sub
题目2:
用代码一次选取“A2:C12”区域所有大于0数字所在的行
Sub two()
Dim rg, rng As Range
For Each rg In Range("a2:c12")
If IsNumeric(rg) & rg > 0 Then
If rng Is Nothing Then Set rng = rg//如果rng没用被用更新rng
Set rng = Union(rng, rg)//选取区域
End If
Next rg
rng.EntireRow.Select
End Sub