VBA中Range的用法小记
2018-03-03 本文已影响31846人
王伯卿
1.选择A1单元格,不做任何操作
Sub rangeTest()
Range("a1").Select
End Sub
2.选择A1单元格,并且赋值“GIVE THANKS TO GOD”
Sub rangeTest()
Range("a1") = "GIVE THANKS TO GOD"
End Sub
3.选择A1到C5单元格,不做任何操作
Sub rangeTest()
Range("a1", "c5").Select
End Sub
4.选择A1到C5单元格,并且赋值“GIVE THANKS TO GOD”
这边选择A1到C5有两种写法,上面的是逗号分隔是一种,下面的这种冒号分隔也是一种。
Sub rangeTest()
Range("a1: c5") = "GIVE THANKS TO GOD"
End Sub
5.选择A1到C5单元格和E5到G6两个不连续的区域,不做任何操作
Sub rangeTest()
Range("a1: c5,e5:g6").Select
End Sub
6.选择第一行,不做任何操作
Sub rangeTest()
Range("1:1").Select
End Sub
7.选择第A列,不做任何操作
Sub rangeTest()
Range("a:a").Select
End Sub
8.选择A5单元格,不做任何操作。但是具体变量需要替换成抽象变量
Sub rangeTest()
Dim num As Integer
Dim letter As String
Let letter = "a"
Let num = 5
Range(letter & num).Select
End Sub
9.选择A1到C5单元格,不做任何操作,具体变量需要替换成抽象变量
Sub rangeTest()
Dim num1 As Integer
Dim letter1 As String
Dim num2 As Integer
Dim letter As String
Let num1 = 1
Let letter1 = "a"
Let letter2 = "c"
Let num2 = 5
Range(Range(letter1 & num1), Range(letter2 & num2)).Select
End Sub
10.复制A1单元格的数据到A2
Sub rangeTest()
Range("a1").Copy Range("a2")
End Sub
11.现有一表格如下图,选择下图全部数据,具体变量只能使用A1
![](https://img.haomeiwen.com/i9823247/35d67f5b4163b25f.png)
Sub rangeTest()
Dim letter As String
Dim num As Integer
letter = "f"
num = 1
Range("a1", Range(letter & num).End(xlDown)).Select
End Sub
12.现有一表格与上图相似(并且单元格内均有数据,为规整的正方形或者长方形数据),选择下图全部数据,并且不管数据如何增加,运行代码均能选择所有数据
Sub rangeTest()
Dim endNumber As Integer
endNumber = Application.WorksheetFunction.CountA(Sheet1.Range("a:a"))
Range("a1", Range("a" & endNumber).End(xlToRight)).Select
End Sub
13.现有表格如下图,请使用offset方法选择A19单元格
![](https://img.haomeiwen.com/i9823247/66a8806512fc52a6.png)
Sub rangeTest()
Range("a1").End(xlDown).Offset(1, 0).Select
End Sub
这边的offset有两个参数,第一个参数是上下的挪移,第二个参数是左右的挪移。
如下例:
offset(|A| , |B|) : 以选择单元格为起点,向下挪移A个单元格,向右挪移B个单元格。
offset(-|A| , -|B|) : 以选择单元格为起点,向上挪移A个单元格,想左挪移B个单元格。
依次类推。
今天range的用法小结暂告一个段落,其中提到的offset与End(xl...)的用法,在实际操作中常常会用到,而且特别方便。