vba 教程1

 

1、激活工作簿

Activate 方法激活工作簿后,该工作簿将放在活动窗口中。下述过程激活已打开的工作簿“MyBook.xls”

Sub MakeActive()
Workbooks("MyBook.xls").Activate
End Sub

2、创建新工作簿

如果要用 Visual Basic 创建新的工作簿,应使用 Add 方法。下述过程创建了新工作簿。Microsoft Excel 自动将该工作簿命名为“BookN,其中 N 是下一个可用的数字。新工作簿将成为活动工作簿。

Sub AddOne()
Workbooks.Add
End Sub

创建新工作簿的较好的方法是将其赋给一个对象变量。下例中,由 Add 方法返回的 Workbook 对象赋给了对象变量 newBook。然后,又设置了 newBook 的若干属性。使用对象变量可以很容易地控制新工作簿。

Sub AddNew()
Set newBook = Workbooks.Add
With newBook
.Title = "1995 Sales"
.Subject = "Sales"
.SaveAs filename:="95Sales.xls"
End With
End Sub

3、打开工作簿

Open 方法打开一个工作簿时,该工作簿将成为 Workbooks 集合的成员。下述过程打开 C 盘上“MyFolder”文件夹内的工作簿“MyBook.xls”

Sub OpenUp()
Workbooks.Open("C:/MyFolder/MyBook.xls")
End Sub

4、用编号引用工作表

编号是赋予工作表的连续的数字,这些数字的顺序,是根据同一类型的工作表的标签位置按由左而右的顺序确定的。下述过程使用 Worksheets 属性激活活动工作簿上的第一张工作表。

Sub FirstOne()
Worksheets(1).Activate
End Sub

如果要处理所有类型的工作表(工作表、图表、模块表和对话框编辑表),可用 Sheets 属性。下述过程激活工作簿中的第四张工作表。

Sub FourthOne()
Sheets(4).Activate
End Sub

注意 移动、添加或删除工作表时,编号顺序将会改变。

5、用名称引用工作表

使用 Worksheets 属性和 Charts 属性时,可用名称标识工作表。下述语句激活活动工作簿内的不同工作表。

Worksheets("Sheet1").Activate
Charts("Chart1").Activate
DialogSheets("Dialog1").Activate

可用 Sheets 属性返回工作表、图表、模块表或对话框编辑表;Sheets 集合包含了所有这些表。下例激活活动工作簿内的图表“Chart1”

Sub ActivateChart()
Sheets("Chart1").Activate
End Sub

注意 嵌入到工作表上的图表是 ChartObjects 集合的成员,而那些位于单独的表上的图表则属于 Charts 集合。

6、将文档保存为 Web

Microsoft Excel 2000 中,可以将工作簿、工作表、图表、区域、查询表、数据透视表报表、打印区域或自动筛选区域保存到 Web 页中。也可以直接在 Excel 中编辑 HTML 文件。

将文档保存为 Web

将文档保存为 Web 页是一个创建并保存 HTML 文件及其支持文件的过程。要完成此过程,可使用 SaveAs 方法,如下例所示,此示例将活动工作簿保存为文件“C:/Reports/myfile.htm”

ActiveWorkbook.SaveAs _
Filename:="C:/Reports/myfile.htm", _
FileFormat:=xlHTML

自定义 Web

通过设置 DefaultWebOptions 对象和 WebOptions 对象的属性,用户可以自定义 HTML 文档的外观、内容、浏览器支持、编辑支持、图形格式、屏幕分辨率、文件组织和编码。DefaultWebOptions 对象中包含应用程序级别的属性。而任何具有相同名称的工作簿级别的设置(包含在 WebOptions 对象中)会覆盖这些设置。

设置完属性后,可以使用 Publish 方法将工作簿、工作表、图表、区域、查询表、数据透视表报表、打印区域或自动筛选区域保存到 Web 页中。下例设置了一些应用程序级别的属性,然后又设置了活动工作簿的 AllowPNG 属性,而此设置将覆盖应用程序级别的默认设置。最后,本示例将该区域保存为“C:/Reports/1998_Q1.htm”

With Application.DefaultWebOptions
.RelyonVML = True
.AllowPNG = True
.PixelsPerInch = 96
End With
With ActiveWorkbook
.WebOptions.AllowPNG = False
With .PublishObjects(1)
.FileName = "C:/Reports/1998_Q1.htm"
.Publish
End With
End With

也可以直接将文件保存到 Web 服务器上。下例将一个区域保存到 Web 服务器上,假定该 Web 页的 URL 地址为 http://example.homepage.com/annualreport.htm

With ActiveWorkbook
With .WebOptions
.RelyonVML = True
.PixelsPerInch = 96
End With
With .PublishObjects(1)
.FileName = _
"http://example.homepage.com/annualreport.htm"
.Publish
End With
End With

Microsoft Excel 中打开 HTML 文档

要在 Excel 中编辑 HTML 文档,请首先使用 Open 方法打开该文档。下例打开文件“C:/Reports/1997_Q4.htm”以便进行编辑。

Workbooks.Open Filename:="C:/Reports/1997_Q4.htm"

打开文件后,就可以通过设置 DefaultWebOptions WebOptions 对象的属性自定义该 HTML 文档的外观、内容、浏览器支持、编辑支持、图象格式、屏幕分辨率、文件组织和编码。

7、用 A1 样式的记号引用单元格和单元格区域

可在 Range 方法中以 A1 样式的记号引用单元格和单元格区域。下述 Sub 过程将单元格区域 A1:D5 的字体设置为加粗。

Sub FormatRange()
Workbooks("Book1").Sheets("Sheet1").Range("A1:D5") _
.Font.Bold = True
End Sub 

下表演示了用于 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")

13 8

Range("A:A,C:C,F:F")

“A”列、“C”列和“F”

8、用编号引用单元格

可用 Cells 属性及行号和列标引用单个单元格。该属性返回代表单个单元格的 Range 对象。下例中,Cells(6,1) 返回工作表“Sheet1”上的单元格“A6”,然后将 Value 属性设置为 10

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

因为可用变量代入单元格索引值,所以 Cells 属性非常适于在单元格区域中循环,如下例所示。

Sub CycleThrough()
Dim counter As Integer
For counter = 1 To 20
Worksheets("Sheet1").Cells(counter, 3).Value = counter
Next counter
End Sub

注意 如果要同时对某一区域内的所有单元格修改属性或应用方法,可用 Range 属性。有关的详细内容,请参阅“用 A1 样式的记号引用单元格和单元格区域”。

9、引用行或列

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

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

下表演示了使用 Rows 属性和 Columns 属性的一些行和列的引用。

引用

含义

Rows(1)

第一行

Rows

工作表上所有的行

Columns(1)

第一列

Columns("A")

第一列

Columns

工作表上所有的列

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

Sub SeveralRows()
Worksheets("Sheet1").Activate
Dim myUnion As Range
Set myUnion = Union(Rows(1), Rows(3), Rows(5))
myUnion.Font.Bold = True
End Sub

10、用快捷记号引用单元格

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

Sub ClearRange()
Worksheets("Sheet1").[A1:B5].ClearContents
End Sub
Sub SetValue()
[MyRange].Value = 30
End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值