VBA学习资料Word文档下载推荐.docx
- 文档编号:18814743
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:178
- 大小:121.86KB
VBA学习资料Word文档下载推荐.docx
《VBA学习资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VBA学习资料Word文档下载推荐.docx(178页珍藏版)》请在冰豆网上搜索。
5、Range对象
6、Range属性
7、Cells属性
8、Caller属性
9、Offset属性
10、Rows属性
11、Activate事件
12、Activate、Deactivate事件
13、Activate方法
14、WorkbookActivate事件
15、WindowActivate事件
16、OnError语句
17、在工作表上使用ActiveX控件
18、Add方法(Scenarios集合)
19、Scenarios集合对象
20、Add方法(Validation对象)
21、Validation对象
22、Validation属性
23、Open事件
24、Open方法
25、Click事件
26、Close方法
27、Change事件
28、Value属性
29、DblClick事件
30、SheetBeforeRightClick事件
31、Select方法
32、Select事件
33、Goto方法
34、Worksheet对象
35、SheetChange事件
36、SheetActivate事件
37、OpenLinks方法
38、Enabled属性
三、VBA语法
(一)VisualBasic的命名规则
1、写VisualBasic语句
2、写声明语句
3、Dim语句的语法
4、Activate方法的语法
5、Set语句
6、MsgBox函数的语法
7、选项语句的语法
8、AddressOf运算符
9、了解变体
10、写赋值语句
11、写可执行的语句
12、Public语句
13、Private语句
14、使用数组
15、使用常数
16、AppActivate语句
17、Beep语句
19、Date语句
20、Error语句
21、Exit语句
22、GoSub...Return语句
23、GoTo语句
24、Input#语句
25、Let语句
26、Load语句
27、Name语句
28、On...GoSub、On...GoTo语句
29、Open语句
30、Rem语句
31、Stop语句
32、Time语句
33、
While...Wend语句
(二)逻辑语句
1、If...Then...Else语句
2、使用SelectCase语句
3、使用For...Next语句
4、ForEach...Next语句
5、Do...Loop语句
6、With语句
(三)过程
1、写Sub过程
2、写Function过程
3、写Property过程
四、ActiveX控件
1、AfterUpdate事件
2、Click事件
3、Click事件、命令按钮控件、Accelerator和Caption属性示例
4、DblClick事件
5、Error事件
6、KeyDown和KeyUp事件
7、KeyPress事件
8、KeyPress事件示例
9、MouseDown和MouseUp事件
10、MouseMove事件
11、列表框控件
12、SpinDown和SpinUp事件
13、SpinDown、SpinUp事件和Delay属性示例
14、组合框控件
15、命令按钮控件
16、标签控件
17、列表框控件、DataObject对象、MouseMove事件和StartDrag、SetText方法示例
18、多页控件
19、选项按钮控件
20、文本框控件
21、切换按钮控件
22、用户窗体窗口
用Activate方法激活工作簿后,该工作簿将放在活动窗口中。
下述过程激活已打开的工作簿“MyBook.xls”。
SubMakeActive()
Workbooks("
MyBook.xls"
).Activate
EndSub
如果要用VisualBasic创建新的工作簿,应使用Add方法。
下述过程创建了新工作簿。
MicrosoftExcel自动将该工作簿命名为“BookN”,其中N是下一个可用的数字。
新工作簿将成为活动工作簿。
SubAddOne()
Workbooks.Add
创建新工作簿的较好的方法是将其赋给一个对象变量。
下例中,由Add方法返回的Workbook对象赋给了对象变量newBook。
然后,又设置了newBook的若干属性。
使用对象变量可以很容易地控制新工作簿。
SubAddNew()
SetnewBook=Workbooks.Add
WithnewBook
.Title="
1995Sales"
.Subject="
Sales"
.SaveAsfilename:
="
95Sales.xls"
EndWith
用Open方法打开一个工作簿时,该工作簿将成为Workbooks集合的成员。
下述过程打开C盘上“MyFolder”文件夹内的工作簿“MyBook.xls”。
SubOpenUp()
Workbooks.Open("
C:
\MyFolder\MyBook.xls"
)
编号是赋予工作表的连续的数字,这些数字的顺序,是根据同一类型的工作表的标签位置按由左而右的顺序确定的。
下述过程使用Worksheets属性激活活动工作簿上的第一张工作表。
SubFirstOne()
Worksheets
(1).Activate
如果要处理所有类型的工作表(工作表、图表、模块表和对话框编辑表),可用Sheets属性。
下述过程激活工作簿中的第四张工作表。
SubFourthOne()
Sheets(4).Activate
注意移动、添加或删除工作表时,编号顺序将会改变。
使用Worksheets属性和Charts属性时,可用名称标识工作表。
下述语句激活活动工作簿内的不同工作表。
Worksheets("
Sheet1"
Charts("
Chart1"
DialogSheets("
Dialog1"
可用Sheets属性返回工作表、图表、模块表或对话框编辑表;
Sheets集合包含了所有这些表。
下例激活活动工作簿内的图表“Chart1”。
SubActivateChart()
Sheets("
注意嵌入到工作表上的图表是ChartObjects集合的成员,而那些位于单独的表上的图表则属于Charts集合。
在MicrosoftExcel2000中,可以将工作簿、工作表、图表、区域、查询表、数据透视表报表、打印区域或自动筛选区域保存到Web页中。
也可以直接在Excel中编辑HTML文件。
将文档保存为Web页
将文档保存为Web页是一个创建并保存HTML文件及其支持文件的过程。
要完成此过程,可使用SaveAs方法,如下例所示,此示例将活动工作簿保存为文件“C:
\Reports\myfile.htm”。
ActiveWorkbook.SaveAs_
Filename:
\Reports\myfile.htm"
_
FileFormat:
=xlHTML
自定义Web页
通过设置DefaultWebOptions对象和WebOptions对象的属性,用户可以自定义HTML文档的外观、内容、浏览器支持、编辑支持、图形格式、屏幕分辨率、文件组织和编码。
DefaultWebOptions对象中包含应用程序级别的属性。
而任何具有相同名称的工作簿级别的设置(包含在WebOptions对象中)会覆盖这些设置。
设置完属性后,可以使用Publish方法将工作簿、工作表、图表、区域、查询表、数据透视表报表、打印区域或自动筛选区域保存到Web页中。
下例设置了一些应用程序级别的属性,然后又设置了活动工作簿的AllowPNG属性,而此设置将覆盖应用程序级别的默认设置。
最后,本示例将该区域保存为“C:
\Reports\1998_Q1.htm”。
WithApplication.DefaultWebOptions
.RelyonVML=True
.AllowPNG=True
.PixelsPerInch=96
WithActiveWorkbook
.WebOptions.AllowPNG=False
With.PublishObjects
(1)
.FileName="
\Reports\1998_Q1.htm"
.Publish
也可以直接将文件保存到Web服务器上。
下例将一个区域保存到Web服务器上,假定该Web页的URL地址为
With.WebOptions
.FileName=_
"
在MicrosoftExcel中打开HTML文档
要在Excel中编辑HTML文档,请首先使用Open方法打开该文档。
下例打开文件“C:
\Reports\1997_Q4.htm”以便进行编辑。
Workbooks.OpenFilename:
\Reports\1997_Q4.htm"
打开文件后,就可以通过设置DefaultWebOptions和WebOptions对象的属性自定义该HTML文档的外观、内容、浏览器支持、编辑支持、图象格式、屏幕分辨率、文件组织和编码。
可在Range方法中以A1样式的记号引用单元格和单元格区域。
下述Sub过程将单元格区域A1:
D5的字体设置为加粗。
SubFormatRange()
Book1"
).Sheets("
).Range("
A1:
D5"
)_
.Font.Bold=True
EndSub
下表演示了用于Range方法的一些A1-样式的引用。
引用
含义
Range("
A1"
单元格“A1”
B5"
从单元格“A1”到单元格“B5”的区域
C5:
D9,G9:
H16"
多块的选定区域
A:
A"
“A”列
1:
1"
第一行
C"
从“A”列到“C”列的区域
5"
从第一行到第五行的区域
1,3:
3,8:
8"
第1、3和8行
A,C:
C,F:
F"
“A”列、“C”列和“F”列
可用Cells属性及行号和列标引用单个单元格。
该属性返回代表单个单元格的Range对象。
下例中,Cells(6,1)返回工作表“Sheet1”上的单元格“A6”,然后将Value属性设置为10。
SubEnterValue()
).Cells(6,1).Value=10
因为可用变量代入单元格索引值,所以Cells属性非常适于在单元格区域中循环,如下例所示。
SubCycleThrough()
DimcounterAsInteger
Forcounter=1To20
).Cells(counter,3).Value=counter
Nextcounter
注意如果要同时对某一区域内的所有单元格修改属性或应用方法,可用Range属性。
有关的详细内容,请参阅“用A1样式的记号引用单元格和单元格区域”。
可用Rows属性或Columns属性处理整行或整列。
这两个属性返回代表单元格区域的Range对象。
下例中,用Rows
(1)返回工作表“Sheet1”上的第一行,然后将该行的Font对象的Bold属性设置为True。
SubRowBold()
).Rows
(1).Font.Bold=True
下表演示了使用Rows属性和Columns属性的一些行和列的引用。
Rows
(1)
Rows
工作表上所有的行
Columns
(1)
第一列
Columns("
Columns
工作表上所有的列
如果要同时处理若干行或列,可先创建一个对象变量,然后用Union方法把对Rows属性或Columns属性的多个调用组合起来。
下例将活动工作簿中第一张工作表上的第一行、第三行和第五行的字体设置为加粗。
SubSeveralRows()
DimmyUnionAsRange
SetmyUnion=Union(Rows
(1),Rows(3),Rows(5))
myUnion.Font.Bold=True
可用方括号将A1样式的引用或命名区域的名称括起来,作为Range属性的快捷方式。
这样就不必键入“Range”和引号,如下述各例所示。
SubClearRange()
).[A1:
B5].ClearContents
SubSetValue()
[MyRange].Value=30
用名称比用A1样式的记号更容易标识单元格区域。
如果要命名选定的单元格区域,单击公式栏左端的名称框,键入名称,然后按ENTER键。
引用命名单元格区域
下例引用了工作簿“MyBook.xls”中的单元格区域“MyRange”。
MyBook.xls!
MyRange"
).Font.Italic=True
下例在工作簿“Report.xls”中引用了特定于工作表的单元格区域“Sheet1!
Sales”。
SubFormatSales()
[Report.xls]Sheet1!
).BorderAroundweight:
=xlthin
如果要选定命名的单元格区域,可用GoTo方法,该方法将激活指定区域所在的工作簿和工作表,然后选定该区域。
Application.GotoReference:
Selection.ClearContents
下例显示了在活动工作簿中对上述同一过程的写法。
在命名区域中的单元格上循环
下例用ForEach...Next循环语句在命名区域中的每一个单元格上循环。
如果该区域中的任一单元格的值超过limit的值,就将该单元格的颜色改为黄色。
SubApplyColor()
ConstlimitAsInteger=25
ForEachcInRange("
Ifc.Value>
limitThen
c.Interior.ColorIndex=27
EndIf
Nextc
处理位于相对于其他单元格的某一位置单元格的常用方法是使用Offset属性。
下例中,将位于活动工作表上活动单元格下一行和右边三列的单元格的内容设置为双下划线。
SubUnderline()
ActiveCell.Offset(1,3).Font.Underline=xlDouble
注意可用Offset属性而不用绝对引用方式来记录宏。
指向“工具”菜单内的“录制宏”子菜单,然后单击“使用相对引用”命令即可。
如果要在单元格区域中循环,可在循环中将Cells属性和变量共用。
下例用从5到100的值以5为步长填充第三列的前20个单元格。
变量counter用作Cells属性的行号。
).Cells(counter,3).Value=counter*5
将对象变量设置为Range对象,即可用变量名方便地操纵该单元格区域。
下述过程创建了对象变量myRange,然后将活动工作簿中工作表“Sheet1”上的单元格区域“A1:
D5”赋予该变量。
随后的语句用该变量代替该区域对象,以修改该区域的属性。
SubRandom()
DimmyRangeAsRange
SetmyRange=Worksheets("
myRange.Formula="
=RAND()"
myRange.Font.Bold=True
如果对工作表应用Cells属性时不指定索引,该属性将返回代表工作表上所有单元格的Range对象。
下述Sub过程清除活动工作簿中工作表“Sheet1”上的所有单元格的内容。
SubClearSheet()
).Cells.ClearContents
使用适当的方法可以很容易地同时引用若干单元格区域。
可用Range和Union方法引用任意组合的单元格区域;
用Areas属性可引用工作表上选定的一组单元格区域。
使用Range属性
使用Range属性时,在两个或多个引用之间加上逗号,就可以引用多重区域。
下例清除了工作表“Sheet1”上三个单元格区域的内容。
SubClearRanges()
H16,B14:
D18"
)._
ClearContents
命名区域使得用Range属性处理多重区域更为容易。
下例可在三个命名区域处于同一工作表时运行。
SubClearNamed()
MyRange,YourRange,HisRange"
).ClearContents
使用Union方法
用Union方法可将多个单元格区域组合到一个Range对象中。
下例创建了名为myMultipleRange的Range对象,并将其定义为单元格区域“A1:
B2”和“C3:
D4”的组合,然后将该组合区域的字体设置为加粗。
SubMultipleRange()
Dimr1,r2,myMultipleRangeAsRange
Setr1=Sheets("
B2"
Setr2=Sheets("
C3:
D4"
SetmyMultipleRange=Union(r1,r2)
myMultipleRange.Font.Bold=True
使用Areas属性
可用Areas属性引用选定的单个单元格区域或多块的选定区域集合。
下述过程计算选定区域内的块数目,如果选定区域中有多个块,就显示警告消息。
SubFindMultiple()
IfSelection.Areas.Count>
1Then
MsgBox"
Cannotdothistoamultipleselection."
使用VisualBasic时,经常需要对某一区域内的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA 学习 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)