003VBAexcelvba

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
test.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单元格
test.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...)的用法,在实际操作中常常会用到,而且特别方便。

上一篇 下一篇

猜你喜欢

热点阅读