文档库 最新最全的文档下载
当前位置:文档库 › 总结Excel之VBA编程之引用单元格、区域的各种方法(上篇)

总结Excel之VBA编程之引用单元格、区域的各种方法(上篇)

总结Excel之VBA编程之引用单元格、区域的各种方法(上篇)
总结Excel之VBA编程之引用单元格、区域的各种方法(上篇)

总结Excel之VBA编程之引用单元格、区域的各种方法(上篇)

Excel单元格引用、区域的引用,在VBA编程中,有着重要的意义。掌握单元格、区域的引用方法,可方便我们对数据进行相应的处理。下面,是单元格、区域的引用方法之总结,希望对您有帮助。

①用范围来引用单元格及区域

可使用 Range 属性来引用 A1 引用样式中的单元格或单元格区域。下述子程序将单元格区域 A1:D5 的字体设置为加粗。

Workbooks("Book2").Sheets("Sheet2").Range("A1:D5") .Font.Bold = True

下表演示了使用 Range 属性的一些 A1 样式引用。

引用含义

----------------------------------

Range("A1") 单元格 A1

Range("A1:B5") 从单元格 A1 到单元格 B5 的区域

Range("C5:D9,G9:H16") 多块选定区域

Range("A:A") A 列

Range("1:1") 第一行

Range("A:C") 从 A 列到 C 列的区域

Range("1:5") 从第一行到第五行的区域

Range("1:1,3:3,8:8") 第 1、3 和 8 行

Range("A:A,C:C,F:F") A 、C 和 F 列

②用编号引用单元格

通过使用行列编号,可用 Cells 属性来引用单个单元格。该属性返回代表单个单元格的Range 对象。下例中,Cells(6,1) 返回 Sheet1 上的单元格 A6,然后将 Value 属性设置为 10。

Worksheets("Sheet1").Cells(6, 1).Value = 10

因为可用变量替代编号,所以 Cells 属性非常适合于在单元格区域中循环,如下例所示。

Dim Counter As Integer

For Counter = 1 To 20

Worksheets("Sheet1").Cells(Counter, 3).Value = Counter

Next Counter

注意如果要同时更改某一单元格区域中所有单元格的属性或对其应用方法,可使用Range 属性。

③引用行和列

可用 Rows 属性或 Columns 属性来处理整行或整列。这两个属性返回代表单元格区域的Range 对象。下例中,用 Rows(1) 返回 Sheet1 上的第一行,然后将单元格区域的 Font 对象的 Bold 属性设置为 True。

Worksheets("Sheet1").Rows(1).Font.Bold = True

下表举例说明了使用 Rows 和 Columns 属性的一些行和列的引用。

引用含义

------------------------

Rows(1) 第一行

Rows 工作表上所有的行

Columns(1) 第一列

Columns("A") 第一列

Columns 工作表上所有的列

若要同时处理若干行或列,请创建一个对象变量并使用 Union 方法,将对 Rows 属性或Columns 属性的多个调用组合起来。下例将活动工作簿中第一张工作表上的第一行、第三行和第五行的字体设置为加粗。

Worksheets("Sheet1").Activate

Dim myUnion As Range

Set myUnion = Union(Rows(1), Rows(3), Rows(5))

myUnion.Font.Bold = True

④用快捷记号引用单元格

可用方括号将 A1 引用样式或命名区域括起来,作为 Range 属性的快捷方式。这样就不必键入单词“Range”或使用引号,如下例所示。

Worksheets("Sheet1").[A1:B5].ClearContents

[MyRange].Value = 30

⑤引用命名区域

用名称比用 A1 样式记号更容易标识单元格区域。若要命名选定的单元格区域,请单击编辑栏左端的名称框,键入名称,再按 Enter。

⑥引用命名区域

下例引用了名为“MyBook.xls”的工作簿中的名为“MyRange”的单元格区域。

Range("MyBook.xls!MyRange").Font.Italic = True

下例引用名为“Report.xls”的工作簿中的特定工作表单元格区域“Sheet1!Sales”。

Range("[Report.xls]Sheet1!Sales").BorderAround Weight:=xlthin

若要选定命名区域,请用 GoTo 方法,该方法将激活工作簿和工作表,然后选定该区域。

Application.Goto Reference:="MyBook.xls!MyRange"

Selection.ClearContents

下例显示对于活动工作簿将如何编写相同的过程。

Application.Goto Reference:="MyRange"

Selection.ClearContents

在命名区域中的单元格上循环

下例用 For Each...Next 循环语句在命名区域中的每一个单元格上循环。如果该区域中的任一单元格的值超过 limit 的值,就将该单元格的颜色更改为黄色。

Const Limit As Integer = 25

For Each c In Range("MyRange")

If c.Value > Limit Then

c.Interior.ColorIndex = 27

End If

Next c

相关文档