VBA学习笔记.docx

上传人:b****1 文档编号:2523257 上传时间:2023-05-03 格式:DOCX 页数:58 大小:71.99KB
下载 相关 举报
VBA学习笔记.docx_第1页
第1页 / 共58页
VBA学习笔记.docx_第2页
第2页 / 共58页
VBA学习笔记.docx_第3页
第3页 / 共58页
VBA学习笔记.docx_第4页
第4页 / 共58页
VBA学习笔记.docx_第5页
第5页 / 共58页
VBA学习笔记.docx_第6页
第6页 / 共58页
VBA学习笔记.docx_第7页
第7页 / 共58页
VBA学习笔记.docx_第8页
第8页 / 共58页
VBA学习笔记.docx_第9页
第9页 / 共58页
VBA学习笔记.docx_第10页
第10页 / 共58页
VBA学习笔记.docx_第11页
第11页 / 共58页
VBA学习笔记.docx_第12页
第12页 / 共58页
VBA学习笔记.docx_第13页
第13页 / 共58页
VBA学习笔记.docx_第14页
第14页 / 共58页
VBA学习笔记.docx_第15页
第15页 / 共58页
VBA学习笔记.docx_第16页
第16页 / 共58页
VBA学习笔记.docx_第17页
第17页 / 共58页
VBA学习笔记.docx_第18页
第18页 / 共58页
VBA学习笔记.docx_第19页
第19页 / 共58页
VBA学习笔记.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VBA学习笔记.docx

《VBA学习笔记.docx》由会员分享,可在线阅读,更多相关《VBA学习笔记.docx(58页珍藏版)》请在冰点文库上搜索。

VBA学习笔记.docx

VBA学习笔记

123

VBA学习笔记

----谢勋圣

一、单元格在VBA的表示方法:

1、方法1:

Range("单元格地址"),如Range("a1")即为A1单元格。

2、方法2:

CELLS(行,列),如CELLS(1,1)也为A1单元格,CELLS(2,1)为A2单元格。

二、工作表在VBA中表示方法:

sheets("工作表名")

如Sheets("sheet1")即为sheet1表。

三、区域的表示方法:

RANGE(CELLS(),CELLS())

1、单元格区域:

Range(cells(1,1),cells(20,1))或Range("a1:

a20");

2、所有单元格区域:

Cells.select;其中select是“选择”的意思;

3、所有已使用的单元格区域:

Sheets("sheet1").UsedRange.Select。

四、清除按钮代码表示方法:

Range("A1:

A22").ClearContents

五、对话框的表示方法:

1、一键选择对话框:

对话框的表示方法:

MsgBox"需要显示的文字"。

2、三键选择对话框:

Sub洪水计算()

msg=MsgBox("是:

打印成果"&"否:

重新计算"&"取消:

放弃打印"&Chr(13),vbYesNoCancel,"谢顺胜恭喜你计算正确!

可以打印了,谢谢使用!

")

Ifmsg=vbYesThen

Call打印成果'调用打印成果

Else:

Ifmsg=vbCancelThenExitSub

Call洪水计算'调用洪水计算

EndIf

EndSub

3、两键选择对话框:

Sub洪水计算()

msg=MsgBox("是:

打印成果"&"否:

重新计算"&Chr(13),vbYesNoCancel,"谢顺胜恭喜你计算正确!

可以打印了,谢谢使用!

")

Ifmsg=vbYesThen

Call打印成果'调用打印成果

Else:

Ifmsg=vbCancelThenExitSub

Call洪水计算'调用洪水计算

EndIf

EndSub

六、编程中调用自定义函数的表示方法:

Application.CountIf

七、把打开的某个工作设为当前工作薄的表示方法:

Workbooks("2.XLS").Activate

八、一次新建多个工作薄并存盘的表示方法:

Fori=10To13

Workbooks.Add

ActiveWorkbook.SaveAsFilename:

="c:

\"&i&".xls"

Next

九、关闭工作薄的表示方法:

1、关闭所有打开的工作薄:

Workbooks.close;

2、关闭指定的工作薄:

Workbooks("123.XLS").close。

十、颜色的表示方法:

1、黑色:

ColorIndex=1;

2、白色:

ColorIndex=2或0;

3、红色:

ColorIndex=3;

4、绿色:

ColorIndex=4;

5、兰色:

ColorIndex=5;

6、黄色:

ColorIndex=6;

7、粉红色:

ColorIndex=7;

8、青色:

ColorIndex=8;

(下略)

十一、名称和标志

1、名称:

为了直观地标识单元格或单元格区域,我们给它们一个名称,从而在公式或函数中直接引用。

例如:

“B2:

B46”区域存放着学生的物理成绩,求解平均分的公式一般是“=AVERAGE(B2:

B46)”;在给B2:

B46区域命名为“物理分数”以后,该公式就可以变为“=AVERAGE(物理分数)”,从而使公式变得更加直观。

给一个单元格或区域命名的方法是:

选中要命名的单元格或单元格区域,鼠标单击编辑栏顶端的“名称框”,在其中输入名称后回车。

也可以选中要命名的单元格或单元格区域,单击“插入→名称→定义”菜单命令,在打开的“定义名称”对话框中输入名称后确定即可。

如果你要删除已经命名的区域,可以按相同方法打开“定义名称”对话框,选中你要删除的名称删除即可。

2、标志:

由于Excel工作表多数带有“列标志”。

例如一张成绩统计表的首行通常带有“序号”、“姓名”、“数学”、“物理”等“列标志”(也可以称为字段),如果单击“工具→选项”菜单命令,在打开的对话框中单击“重新计算”选项卡,选中“工作簿选项”选项组中的“接受公式标志”选项,公式就可以直接引用“列标志”了。

例如“B2:

B46”区域存放着学生的物理成绩,而B1单元格已经输入了“物理”字样,则求物理平均分的公式可以写成“=AVERAGE(物理)”。

(创建好的名称可以被所有工作表引用,而且引用时不需要在名称前面添加工作表名(这就是使用名称的主要优点),因此名称引用实际上是一种绝对引用。

但是公式引用“列标志”时的限制较多,它只能在当前数据列的下方引用,不能跨越工作表引用,但是引用“列标志”的公式在一定条件下可以复制。

从本质上讲,名称和标志都是单元格引用的一种方式。

因为它们不是文本,使用时名称和标志都不能添加引号。

 

十二、VisualBasic常数

1、Miscellaneous常数

下列常数由VisualBasicforApplications中的类型库定义,可用来在代码中的任何地方代替实际值:

常数

等于

描述

vbCrLf

Chr(13)+Chr(10)

回车符与换行符结合

vbCr

Chr(13)

回车符

vbLf

Chr(10)

换行符

vbNewLine

Chr(13)+Chr(10)or,ontheMacintosh,Chr(13)

平台指定的新行字符;适用于当前平台

vbNullChar

Chr(0)

值为0的字符

vbNullString

值为0的字符串

用来调用外部过程;与长度为零的字符串("")不同

vbObjectError

-2147221504

用户定义的错误号应当大于该值,例如:

Err.RaiseNumber=vbObjectError+1000

vbTab

Chr(9)

Tab字。

vbBack

Chr(8)

退格字符

vbFormFeed

Chr(12)

在MicrosoftWindowsorontheMacintosh中没有作用

vbVerticalTab

Chr(11)

在MicrosoftorontheMacintoshWindows中没有作用

2、Keycode常数

可在代码中的任何地方用下列常数代替实际值:

常数

描述

vbKeyLButton

0x1

鼠标左键

vbKeyRButton

0x2

鼠标右键

vbKeyCancel

0x3

CANCEL键

vbKeyMButton

0x4

鼠标中键

vbKeyBack

0x8

BACKSPACE键

vbKeyTab

0x9

TAB键

vbKeyClear

0xC

CLEAR键

vbKeyReturn

0xD

ENTER键

vbKeyShift

0x10

SHIFT键

vbKeyControl

0x11

CTRL键

vbKeyMenu

0x12

MENU键

vbKeyPause

0x13

PAUSE键

vbKeyCapital

0x14

CAPSLOCK键

vbKeyEscape

0x1B

ESC键

vbKeySpace

0x20

SPACEBAR键

vbKeyPageUp

0x21

PAGEUP键

常数

描述

vbKeyPageDown

0x22

PAGEDOWN键

vbKeyEnd

0x23

END键

vbKeyHome

0x24

HOME键

vbKeyLeft

0x25

LEFTARROW键

vbKeyUp

0x26

UPARROW键

vbKeyRight

0x27

RIGHTARROW键

vbKeyDown

0x28

DOWNARROW键

vbKeySelect

0x29

SELECT键

vbKeyPrint

0x2A

PRINTSCREEN键

vbKeyExecute

0x2B

EXECUTE键

vbKeySnapshot

0x2C

SNAPSHOT键

vbKeyInsert

0x2D

INSERT键

vbKeyDelete

0x2E

DELETE键

vbKeyHelp

0x2F

HELP键

vbKeyNumlock

0x90

NUMLOCK键

A至Z键与A–Z字母的ASCII码相同:

 

常数

描述

vbKeyA

65

A键

vbKeyB

66

B键

vbKeyC

67

C键

vbKeyD

68

D键

vbKeyE

69

E键

vbKeyF

70

F键

vbKeyG

71

G键

vbKeyH

72

H键

vbKeyI

73

I键

vbKeyJ

74

J键

vbKeyK

75

K键

vbKeyL

76

L键

vbKeyM

77

M键

vbKeyN

78

N键

vbKeyO

79

O键

vbKeyP

80

P键

vbKeyQ

81

Q键

vbKeyR

82

R键

vbKeyS

83

S键

vbKeyT

84

T键

vbKeyU

85

U键

vbKeyV

86

V键

vbKeyW

87

W键

vbKeyX

88

X键

vbKeyY

89

Y键

vbKeyZ

90

Z键

0至9键与数字0–9的ASCII码相同:

常数

描述

vbKey0

48

0键

vbKey1

49

1键

vbKey2

50

2键

vbKey3

51

3键

vbKey4

52

4键

vbKey5

53

5键

vbKey6

54

6键

vbKey7

55

7键

vbKey8

56

8键

vbKey9

57

9键

下列常数代表数字键盘上的键:

常数

描述

vbKeyNumpad0

0x60

0键

vbKeyNumpad1

0x61

1键

vbKeyNumpad2

0x62

2键

vbKeyNumpad3

0x63

3键

vbKeyNumpad4

0x64

4键

vbKeyNumpad5

0x65

5键

vbKeyNumpad6

0x66

6键

vbKeyNumpad7

0x67

7键

vbKeyNumpad8

0x68

8键

vbKeyNumpad9

0x69

9键

vbKeyMultiply

0x6A

MULTIPLICATIONSIGN(*)键

vbKeyAdd

0x6B

PLUSSIGN(+)键

vbKeySeparator

0x6C

ENTER键

vbKeySubtract

0x6D

MINUSSIGN(–)键

vbKeyDecimal

0x6E

DECIMALPOINT(.)键

vbKeyDivide

0x6F

DIVISIONSIGN(/)键

下列常数代表功能键:

常数

描述

vbKeyF1

0x70

F1键

vbKeyF2

0x71

F2键

vbKeyF3

0x72

F3键

vbKeyF4

0x73

F4键

vbKeyF5

0x74

F5键

vbKeyF6

0x75

F6键

vbKeyF7

0x76

F7键

vbKeyF8

0x77

F8键

vbKeyF9

0x78

F9键

vbKeyF10

0x79

F10键

vbKeyF11

0x7A

F11键

vbKeyF12

0x7B

F12键

vbKeyF13

0x7C

F13键

vbKeyF14

0x7D

F14键

vbKeyF15

0x7E

F15键

vbKeyF16

0x7F

F16键

3、MsgBox常数

可在代码中的任何地方使用下列常数代替实际值:

①MsgBox参数

常数

描述

vbOKOnly

0

只有OK按钮(缺省值)

vbOKCancel

1

OK和Cancel按钮

vbAbortRetryIgnore

2

Abort、Retry,和Ignore按钮

vbYesNoCancel

3

Yes、No,和Cancel按钮

vbYesNo

4

Yes和No按钮

vbRetryCancel

5

Retry和Cancel按钮

vbCritical

16

关键消息

vbQuestion

32

警告询问

vbExclamation

48

警告消息

vbInformation

64

通知消息

vbDefaultButton1

0

第一个按钮是缺省的(缺省值)

vbDefaultButton2

256

第二个按钮是缺省的

vbDefaultButton3

512

第三个按钮是缺省的

vbDefaultButton4

768

第四个按钮是缺省的

vbApplicationModal

0

应用程序形态的消息框(缺省值)

vbSystemModal

4096

系统强制返回的消息框

vbMsgBoxHelpButton

16384

添加Help按钮到消息框

VbMsgBoxSetForeground

65536

指定消息框窗口作为前景窗口

vbMsgBoxRight

524288

文本是右对齐的

vbMsgBoxRtlReading

1048576

指定在希伯来语和阿拉伯语系统中,文本应当显示为从右到左读

②MsgBox返回值

常数

描述

vbOK

1

按下OK按钮

vbCancel

2

按下Cancel按钮

vbAbort

3

按下Abort按钮

vbRetry

4

按下Retry按钮

vbIgnore

5

按下Ignore按钮

vbYes

6

按下Yes按钮

vbNo

7

按下No按钮

③StrConv常数

可在代码中的任何地方使用下列常数代替实际值:

Constant

描述

vbUpperCase

1

将字符串转换成大写字符。

vbLowerCase

2

将字符串转换成小写字符。

vbProperCase

3

将字符串中每个词的第一个字母转换成大写。

④系统颜色常数

可在代码中的任何地方用下列常数代替实际值:

常数

描述

vbScrollBars

0x80000000

滚动条颜色

vbDesktop

0x80000001

桌面颜色

vbActiveTitleBar

0x80000002

活动窗口的标题栏颜色

vbInactiveTitleBar

0x80000003

非活动窗口的标题栏颜色

vbMenuBar

0x80000004

菜单背景色

vbWindowBackground

0x80000005

窗口背景色

vbWindowFrame

0x80000006

窗口框架颜色

vbMenuText

0x80000007

菜单文本颜色

vbWindowText

0x80000008

窗口文本颜色

vbTitleBarText

0x80000009

标题、调整框和滚动箭头的文本颜色

vbActiveBorder

0x8000000A

活动窗口边框颜色

vbInactiveBorder

0x8000000B

非活动窗口边框颜色

vbApplicationWorkspace

0x8000000C

多文档界面(MDI)应用程序的背景色

vbHighlight

0x8000000D

控件中选中项目的背景色

vbHighlightText

0x8000000E

控件中选中项目的文本颜色

vbButtonFace

0x8000000F

命令按钮表面阴影颜色

vbButtonShadow

0x80000010

命令按钮边缘阴影颜色

vbGrayText

0x80000011

灰色(无效)文本

vbButtonText

0x80000012

下压按钮文本颜色

vbInactiveCaptionText

0x80000013

非活动标题文本颜色

vb3DHighlight

0x80000014

3-D显示元素的突出显示颜色

vb3DDKShadow

0x80000015

3-D显示元素的最深阴影颜色

vb3DLight

0x80000016

vb3Dhighlight之外最亮的3-D颜色

vbInfoText

0x80000017

工具提示文本颜色

vbInfoBackground

0x80000018

工具提示背景色

十三、Call语句

将控制权转移到一个Sub过程,Function过程,或动态链接库(DLL)过程。

1、语法

[Call]name[argumentlist]

Call语句的语法具有以下几个部分:

部分

描述

Call

可选参数;关键字。

如果指定了这个关键字,则argumentlist必须加上括号,例如:

 

CallMyProc(0)

name

必要参数,要调用的过程名称。

argumentlist

 

2、说明

调用一个过程时,并不一定要使用Call关键字。

如果使用Call关键字来调用一个需要参数的过程,argumentlist就必须要加上括号。

如果省略了Call关键字,那么也必须要省略argumentlis外面的括号。

如果使用Call语法来调用内建函数或用户定义函数,则函数的返回值将被丢弃。

若要将整个数组传给一个过程,使用数组名,然后在数组名后加上空括号。

3、Call语句示例

下列示例示范如何使用Call语句来将控制转移到子过程、内在函数、和动态链接库(DLL)过程,或是Macintosh代码资源内的过程。

'调用一个子过程。

CallPrintToDebugWindow("HelloWorld")

'上面的语句将控制转移到下面的子过程。

SubPrintToDebugWindow(AnyString)

Debug.PrintAnyString'在“立即”窗口中显示。

EndSub

'调用一个内在函数,函数的返回值被忽略不处理。

CallShell(AppName,1)'AppName包含可执行文件的路径。

'调用MicrosoftWindowsDLL过程。

该声明语句必需是类模块中的私有的,而不是标准模块中的。

PrivateDeclareSubMessageBeepLib"User"(ByValNAsInteger)

SubCallMyDll()

CallMessageBeep(0)'调用WindowsDLL过程。

MessageBeep0'再次调用,但不用“调用”这个关键字。

EndSub

Sub工程名称()

Dims工程名称AsVariant

s工程名称=InputBox("请输入本工程名称:

")

MsgBox"本工程名称为:

"&s工程名称

MsgBox"输入成功,谢谢合作!

"

Range("M3").Select

ActiveCell.FormulaR1C1=s工程名称

ActiveWorkbook.Save

Range("e3").Select

EndSub

Sub创建各标段评分表格()

Dims标段数AsString

s标段数=InputBox("请输入本次招标标段数:

")

Ifs标段数>0Ands标段数<6Then

MsgBox"按“确定”按钮生成表格。

"&Chr(13)&"表格生成需要一些时间,请你耐心等待!

"&Chr(13),vbYes,"本次招标分"&s标段数&"个标段"

Else:

MsgBox"对不起!

标段划分不正确,请重新输入标段数(1-5个之间),谢谢!

"

EndIf

Range("M2").Select

ActiveCell.FormulaR1C1=s标段数

ChDir"d:

\复合标底评分软件(Excel6.0版)"

IfActiveCell.FormulaR1C1=1Then

Sheets("创建表格").Select

Application.Run"创建表格.xls!

创建标段评分表格1"

ActiveWindow.Close

Range("e3").Select

MsgBox"恭喜你,表格生成成功!

"

ElseIfActiveCell.FormulaR1C1=2Then

Workbooks.OpenFilename:

=_

"d:

\复合标底评分软件(Excel6.0版)\创建表格.xls"

Application.Run"创建表格.xls!

创建标段评分表格1"

Application.Run"创建表格.xls!

创建标段评分表格2"

ActiveWindow.Close

Range("e3").Select

MsgBox"恭喜你,表格生成成功!

"

ElseIfActiveCell.FormulaR1C1=3Then

Workbooks.OpenFilename:

=_

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2