VBA
VBA-Excel中单元格的引用方法
使用VBA对Excel中的单元格或单元格区域进行选择有很多种方法,可以归结为两大类:
- 使用行列数进行选择
- 根据已经选择的单元格(区域)进行再选择
1、使用range属性
VBA中可以使用range
属性返回某个单元格或者单元格区域。
- 一个单元格:
range("a1")
- 单元格区域:
range(“a1:b3”)
Sub 选择1()Range("a1").Select '选择一个单元格,默认选择目前活动窗口Range("a1:b3").Select '选择一个区域Sheet1.Range("a1").Select '指定表格的区域
End Sub
2、使用cells属性
该函数的格式为:Cells(RowIndex, ColumnIndex)
,参数分别为行数和列数,使用阿拉伯数字,但是需要注意的是该函数只能选择一个单元格,不可以选择多个单元格,除非使用循环函数。
Sub 选择2()Sheet1.Cells(1, 2).Select '指定一个单元格Dim i As IntegerFor i = 1 To 10Sheet1.Cells(i, 1).Value = i '对指定单元格区域填充文字Next
End Sub
3、使用快捷符号
[]
可以实现对单元格的快捷选择功能,格式和range有一些类似
Sub 选择3()[a1].Select '选择一个单元格[a1,b3].Select '选择两个单元格[a1:b3].Select '选择单元格区域
End Sub
4、使用offset属性
该函数基于已选择的单元格或区域向下(右)移动多少个单位,其格式为:
.offset(rowoffset,coloffset)
,分别代表移动的行数和列数,若需向左或下移动则可以使用负号(-)。
Sub 选择4()Sheet1.Range("a1").Offset(1, 1).Select '选择a1单元格下一行,右一列Sheet1.Range("a1:c3").Offset(2, 2).Select '选择一个区域Sheet1.Range("b2").Offset(-1, -1).Select[a1].Offset(1, 1).Select '选择b2单元格[a1:b3].Offset(1, 1).Select '选择单元格区域
End Sub
5、使用resize属性
该函数基于原选择的区域作为左上角进行扩充选择,返回为一个区域。格式为:.Resize(RowSize, ColumnSize)
,分别代表最终选择区域的行数和列数。
Sub 选择5()Sheet1.Range("a1").Resize(2, 2).Select '形成一个2×2的单元格区域Sheet1.Range("b1:b2").Resize(3, 3).Select 'b1为左上角单元格形成3×3的区域[a1].Resize(2, 2).Select '也可以进行选择
End Sub
6、使用union方法
使用 Union 方法可以将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作,格式为:.Union(Arg1, Arg2, ...)
。
Sub 选择6()Union(Sheet1.Range("a1"), Sheet1.Range("b3")).Select '选择两个单元格Union(Sheet1.Range("a1:b3"), Sheet1.Range("c4:f8")).Select '选择两个区域
End Sub
7、使用usedrange属性
返回指定工作表上已使用单元格组成的区域,为一个矩形区域。
Sub 选择7()Sheet1.UsedRange.Select
End Sub
8、使用currentregion属性
该函数返回指定工作表上当前的区域
Sub 选择8()Sheet1.Range("a1").CurrentRegion.Select
End Sub
发布评论