Excel_VBA_编程教程(完整版)excel高级教程== 下载本文

内容发布更新时间 : 2024/5/28 3:14:12星期一 下面是文章的全部内容请认真阅读。

Excel_VBA_编程教程(完整版)excel高级教程

VBA - Excel编程概念之:【单元格和区域】一、如何引用单元格和区域

使用 Visual Basic 的普通任务是指定单元格或单元格区域,然后对该单元格或单元格区域进行一些操作,如输入公式或更改格式。通常用一条语句就能完成操作,该语句可标识单元格,还可更改某个属性或应用某个方法。

在 Visual Basic 中,Range 对象既可表示单个单元格,也可表示单元格区域。下列主题说明了标识和处理 Range 对象最常用的方法。 用 A1 样式记号引用单元格和单元格区域

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

Sub FormatRange()

Workbooks(\ .Font.Bold = True End Sub

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

Range(\ 单元格 A1

Range(\ 从单元格 A1 到单元格 B5 的区域 Range(\ 多块选定区域 Range(\ A 列 Range(\ 第一行

Range(\ 从 A 列到 C 列的区域 Range(\ 从第一行到第五行的区域 Range(\ 第 1、3 和 8 行 Range(\ A 、C 和 F 列 用编号引用单元格

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

Sub EnterValue()

Worksheets(\

End Sub

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

Sub CycleThrough()

Dim Counter As Integer For Counter = 1 To 20

Worksheets(\ Next Counter End Sub

注意 如果要同时更改某一单元格区域中所有单元格的属性或对其应用方法,可使用 Range 属性。有关详细信息,请参阅用 A1 样式记号引用单元格。 引用行和列

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

Sub RowBold()

Worksheets(\End Sub

下表举例说明了使用 Rows 和 Columns 属性的一些行和列的引用。 引用 含义 Rows(1) 第一行

Rows 工作表上所有的行 Columns(1) 第一列 Columns(\ 第一列

Columns 工作表上所有的列

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

Worksheets(\ Dim myUnion As Range

Set myUnion = Union(Rows(1), Rows(3), Rows(5)) myUnion.Font.Bold = True End Sub

用快捷记号引用单元格

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

Worksheets(\End Sub

Sub SetValue()

[MyRange].Value = 30 End Sub 引用命名区域

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

引用命名区域

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

Range(\End Sub

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

Range(\End Sub

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

Sub ClearRange()

Application.Goto Reference:=\ Selection.ClearContents End Sub

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

Application.Goto Reference:=\ Selection.ClearContents End Sub

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