K1 零基础学习VBA -- 单元格引用

2 阅读1分钟

一、单个单元格引用

写法含义示例
Range("A1")按地址引用Range("B2").Value = 100
Cells(行, 列)按行列号引用Cells(2, 2).Value = 100
[A1]简写(方括号)[A1] = 100
Rows(1) / Columns("A")整行 / 整列Rows("1:3").Delete

二、连续单元格引用

写法优点缺点
Range("A1:C5")直观、好读不能用变量
Range("A1","C5")两个角都能传 Range 对象写法稍长
[A1:C5]最简洁不能用变量,调试困难

三、非连续单元格引用

写法含义
Range("A1,C5")A1+C5
Range("A1:C5, E1:G5")两个不连续矩形区域
Range("A:A, C:C, E:E")不连续多列

四、Intersection 和 Union

  1. Intersection 判断某单元格是否在指定区域内,限定操作范围等

2.Union 动态收集符合条件的单元格

Dim rngResult As Range 
Dim cell As Range
For Each cell In Range("A1:A100") 
    If cell.Value > 100 Then 
        If rngResult Is Nothing Then  '需要做nothing判断
            Set rngResult = cell 
        Else 
            Set rngResult = Union(rngResult, cell) ' 逐步拼接 
        End If 
    End If 
Next cell

五、Offset 和 Resize

六、UsedRange(有格式无内容计入在内) 和 CurrentRegion(等同Ctrl + A)

七、End(xlup|xldown|xltoleft|xltoright)