当前位置:文档之家› EXCEl经典课堂10-巧妙应用Excel的宏与VBA

EXCEl经典课堂10-巧妙应用Excel的宏与VBA

EXCEl经典课堂10-巧妙应用Excel的宏与VBA
EXCEl经典课堂10-巧妙应用Excel的宏与VBA

第10 章巧妙应用Excel 的宏与VBA

10.1宏的录制、创建与命名

如何将已经录制的宏指定给工作簿中添

加的窗体按钮

如何录制宏

具体操作步骤如下。

具体操作步骤如下。

1 将宏病毒安全级设置为“中”或“低”。

2 在菜单栏上选择“工具|宏|录制新宏”命

令,弹出“录制新宏”对话框,如图10.1 所示。

图10.1 “录制新宏”对话框

3 在“宏名”文本框中,输入需设定的宏的名

称。

4 在“保存在”下拉列表框中,选择需要存放

宏的地址。

5 如果要添加有关宏的说明,可以在“说明”

文本框中输入该宏的详细说明。

6 单击“确定”按钮,弹出“停止录制”工具

栏,如图10.2 所示。

图10.2 “停止录制”工具栏

7 在工作簿中执行需要录制的操作,完毕后,

在“停止录制”工具栏上,单击“停止录制”按钮

即可完成。

1 右击菜单栏,弹出快捷菜单,选择“窗体”

选项,打开“窗体”工具栏,如图10.3 所示。

图10.3 “窗体”工具栏

2 在“窗体”工具栏上单击“按钮”按钮,然

后在工作表上绘制一个按钮,此时会弹出“指定宏”

对话框,如图10.4 所示。

图10.4 “指定宏”对话框

3 在列表框中选择以前录制的宏“Macrol”,然

后单击“确定”按钮,如图10.5 所示。

?1?

图10.5 选择宏

图10.8 选择“模块”命令

4 返回工作表中,如图10.6 所示,单击此按钮,

便可执行选定宏所录制的操作。

图10.6 添加的按钮

如何使用Microsoft Visual Basic 编辑器

创建宏

具体操作步骤如下。

1 在Excel 的菜单栏上选择“工具|宏|Visual

Basic 编辑器”命令,弹出Visual Basic 编辑器窗口,

如图10.7 所示。

图10.7 Visual Basic 编辑器窗口

2 在菜单栏上选择“插入|模块”命令,如图

10.8 所示。

3 将需要设置的代码输入或复制到模块的代码

窗口中。

4 如果要模块窗口中运行宏,可以直接按F5

键。

5 编写完宏后,在菜单栏上选择“文件|关闭

并返回到Microsoft Excel”命令即可关闭此窗口,

如图10.9 所示。

图10.9 选择“关闭并返回到Microsoft Excel”命令

如何宏命令转化成VBA 代码

具体操作步骤如下。

1 在菜单栏上选择“工具|宏|宏”命令。

2 弹出“宏”对话框,在列表框中选择“Macro2”

选项,然后单击“编辑”按钮,如图10.10 所示。

图10.10 设置“宏”对话框

第 1 章初识EXCEL

3 弹出Visual Basic 编辑器窗口,在代码编辑

区内显示的代码便是宏命令的程序代码,如图10.11

所示。

图10.13 单击“选项”按钮

?33?

图10.11 代码

录制宏的过程中如何设置快捷键

在录制新宏的过程中,会弹出“录制新宏”对

话框,在“快捷键”文本框中可以输入一个字母,

如图10.12 所示。

图10.12 输入快捷键

这样,可以直接按Ctrl+V 键,便可执行宏。

宏录制后如何设置快捷键

具体操作步骤如下。

1 在菜单栏上选择“工具|宏|宏”命令,弹

出“宏”对话框,单击“选项”按钮,如图10.13

所示。

2 弹出“宏选项”对话框,在“快捷键”文本

框中,输入需要设定的快捷键,如图10.14 所示。

图10.14 “宏选项”对话框

3 单击“确定”按钮,这样,直接按Ctrl+Shift+S

快捷键即可执行宏。

10.2 VBA中按钮的使用

如何将录制的宏指定给自定义的工具按

具体操作步骤如下。

1 在菜单栏上右击鼠标,弹出快捷菜单栏,选

择“自定义”命令,弹出“自定义”对话框,单击

“命令”标签,切换至“命令”选项卡下,在“类别”

列表框中选择“宏”选项,如图10.15 所示。

?1?

图10.15 “自定义”对话框

1 在菜单栏上选择“工具|自定义”命令,弹

出“自定义”对话框,单击“命令”标签,切换至

“命令”选项卡下,在“类别”列表框中选择“宏”

选项,然后右击工具栏上的自定义按钮,弹出快捷

菜单,选择“更改按钮图像”选项,弹出“图像”

列表,选择需要的图标,如图10.18 所示。

2 在右侧的“命令”列表框中,将“自定义按

钮”选项拖动到工具栏上,如图10.16 所示,然后

单击“关闭”按钮。

图10.16 添加按钮

3 单击自定义的按钮,弹出“指定宏”对话框,

在列表框中选择需要指定的宏选项,如图10.17 所

示。

图10.17 选择宏

5 单击“确定”按钮,这样,以后在菜单栏上

单击自定义的按钮即可快速执行宏。

如何更改自定义的工具按钮图标以及名

具体操作步骤如下。

图10.18 更改图标

2 此时工具栏上的自定义的图标样式已经更

换,再右击它,弹出快捷菜单,选择“命名”项,

然后在其右侧的文本框中输入“我的按钮”,如图

10.19 所示。

图10.19 输入名称

3 在“自定义”对话框中,单击“关闭”按钮,

这样,以后将鼠标指针指向自定义按钮就会出现按

钮名称提示,如图10.20 所示。

图10.20 显示名称

具体操作步骤如下。

第 1 章初识EXCEL ?35?

1 在菜单栏上选择“工具|自定义”命令,弹

出“自定义”对话框,单击“命令”标签,切换至

“命令”选项卡下,在“类别”列表框中选择“宏”

选项。

2 在工具栏上单击自定义的工具按钮,将它拖

动至“自定义”对话框中的“命令”选项卡的“命

令”列表框中的“自定义按钮”选项上,如图10.21

所示。

图10.21 拖动按钮

3 释放鼠标,自定义工具按钮就从工具栏上删

除,单击“关闭”按钮即可完成。

如何复制已创建的宏中的一部分创建另

一个宏

具体操作步骤如下。

1 将宏病毒安全级设置为“中”或“低”级。

2 打开要复制的宏所在的工作簿文件。

3 在菜单栏上选择“工具|宏|宏”命令。

4 弹出“宏”对话框,在“宏名”文本框中输

入要复制的宏的名称,然后单击“编辑”按钮,如

图10.22 所示。

图10.22 输入宏名

5 弹出Visual Basic 编辑器,在窗口中的代码

编辑区内,选取要复制的程序行,如果要复制整个

宏,要在选定区域中包括了“With”和“End With”

行,如图10.23 所示。

图10.23 选取代码

6 在Visual Basic 编辑器窗口中,在菜单栏上

选择“编辑|复制”命令,如图10.24 所示。

图10.24 选择“复制”命令

7 切换到要放置代码的模块中,然后在工具栏

上单击“粘贴”按钮即可。

?1?

线

具体操作如下。

在菜单栏上选择“视图|工具栏|窗体”命令,

弹出“窗体”工具栏,如图10.25 所示,“切换网格”

按钮呈打开状态,如果需要关闭风格线,单击此按

钮即可完成。

图10.25 “窗体”工具栏

如何使用VBA 进行累加计算

具体操作步骤如下。

1 在工作表中创建如图10.26 所示的表格。

2 调出“窗体”工具栏,然后在“窗体”工具

栏上单击“按钮”按钮,如图10.27 所示。

图10.26 创建表格图10.27 单击“按钮”按钮

3 在刚创建的表格的下方单击并拖出一个按

钮,此时会自动弹出“指定宏”对话框,单击“新

建”按钮,如图10.28 所示。

图10.28 单击“新建”按钮

4 切换至Visual Basic 编辑器窗口中,在代码

编辑区内输入相应的代码,如图10.29 所示。

图10.29 输入代码

其中的代码如下:

Sub 按钮1_单击()

Call leijia

End Sub

5 在下方添加一个程序leijia(),如图10.30 所

示。

图10.30 添加程序

其中的代码如下:

Sub leijia()

Dim a,b,c As Long

a = Cells(1,2)

b =

c = 0

While (b<a)

b = b + 1

c = c + b

Wend

c = c

Cells(2,2) = c

End Sub

第 1 章初识EXCEL ?37?

6 关闭Visual Basic 编辑器窗口,返回工作表

中,将按钮上的文本更改为“计算”,如图10.31 所

示。

图10.31 更改按钮名称

7 在单元格C3 中输入“500”,单击“计算”

按钮,在单元格C4 中便显示出累加值“125250”,

如图10.32 所示。

图10.32 计算累加值

如何制作行颜色交叉Excel 表格

具体操作步骤如下。

1 在菜单栏上选择“工具|宏|录制新宏”命

令。

2 弹出“录制新宏”对话框,在“宏名”文本

框中输入宏名“行颜色交叉的Excel 表格”,在“快

捷键”文本框中输入“e”,如图10.33 所示。

图10.33 设置“录制新宏”对话框

3 单击“确定”按钮,返回工作表中,在其中

建立边框,然后进行多种颜色的格式化,如图10.34

所示。

图10.34 建立表格边框

4 在“停止录制”工具栏上,单击“停止录制”

按钮,如图10.35 所示。

图10.35 单击“停止录制”按钮

5 返回工作表中并选择一单元格区域,然后按

Ctrl+A 键,在选定的单元格区域内,就会自动建立

多色边框表格,如图10.36 所示。

图10.36 自动建立多色表格

如何使用下拉列表框来控制显示

具体操作步骤如下。

1 调出“窗体”工具栏,单击“窗体”工具栏

上的“组合框”按钮,如图10.37 所示。

图10.37 单击“组合框”按钮

?1?

2 返回工作表中,单击并拖出一个下拉列表框,

如图10.38 所示。

图10.38 绘制组合框

3 右击下拉列表框,弹出快捷菜单,选择“设

置控件格式”命令。

4 弹出“设置控件格式”对话框,单击“控制”

标签,切换至“控制”选项卡下,如图10.39 所示。

图10.39 “设置控件格式”对话框

5 在工作表的其他区域内建立如图10.40 所示

的部门列表。

图10.40 建立部门列表

6 在“设置控件格式”对话框中,在“控制”

选项卡下,进行如图10.41 所示的设置。

图10.41 设置“控制”选项卡

7 单击“确定”按钮,返回工作表中,单击下

拉列表按钮,弹出下拉列表,选择“财务部”选项,

如图10.42 所示。

图10.42 选择“财务部”选项

8 此时在单元格D5 中显示出人力资源部在部

门列表中的排序“3”,如图10.43 所示。

图10.43 显示排序

如何使用按钮来控制弹出提示对话框的

显示

具体操作步骤如下。

1 调出“窗体”工具栏,单击“窗体”工具栏

第 1 章 初识 EXCEL

?39?

上的“按钮”,如图 10.44 所示。

图 10.44 单击“按钮”按钮

2 返回工作表中,单击并拖动出一个按钮,弹 出“指定宏”对话框,在“宏名”文本框中输入“弹 出提示”,然后单击“新建”按钮,如图 10.45 所示。

图 10.45 “指定宏”对话框

3 弹出 Visual Basic 编辑器窗口,在代码编辑 区内输入代码,如图 10.46 所示。

图 10.46 输入代码

输入的代码如下: Sub 弹出提示()

ANS = MsgBox (〝请重新输入〞vbYesNo, 〝输入错误!〞)

If ANS = vbNo Then Exit Sub End Sub

4 关闭 Visual Basic 编辑器窗口,返回工作表

中,将按钮名称更改为“输入错误!”,如下图 10.47 所示。

图 10.47 更改名称

5 单击“输入错误!”按钮,即可弹出对话框。

为何“刷新”时有消息显示对宏的更改将 丢失

在 Visual Basic 编辑器窗口中更改宏时,如果

又在 Microsoft 脚本编辑器中更改了工作簿的副本, 就会显示此消息。

如果要保存对宏所做的更改,可以执行下列操 作。

1 单击“否”按钮。

2 切换到 Visual Basic 编辑器窗口中。

3 导出已更改的任何模块。

4 在工作表簿的 Microsoft 脚本编辑器窗口中,

单击“刷新”工具栏上的“刷新”按钮。

5 单击“是”按钮。

6 导入模块以恢复对宏的更改。

如何使用 InputBox 对话框在工作表中输 入信息

具体操作步骤如下。

1 在工作表中建立如图 10.48 所示的表格。

图 10.48 建立表格

2 调出“窗体”工具栏,在“窗体”工具栏上 单击“按钮”按钮,在建立的表格的右侧单击并拖 动出一按钮,弹出“指定宏”对话框,在“宏名” 文本框中输入“开始输入”,然后单击“新建”按钮, 如图 10.49 所示。

?1?

图10.52 输入姓名

图10.49 设置“指定宏”对话框

3 弹出Visual Basic 编辑窗口,在代码编辑区

内输入代码,如图10.50 所示。

图10.50 输入代码

输入的代码如下:

Sub 请输入( )

a=InputBox(〝请输入你的姓名:〞)

Cells(1,2)=a

If a〈〉〝〞Then

b=InputBox(〝请输入你的年龄:〞)

Cells(2,2)=b

End If

End Sub

4 关闭Visual Basic 编辑器窗口,返回工作表

中,更改按钮名称为“请输入”,如图10.51 所示。

图10.51 更改“按钮”名称

5 单击“请输入”按钮,弹出对话框,提示用

户输入姓名,如图10.52 所示。

6 输入姓名后,单击“确定”按钮,再次弹出

对话框,提示输入年龄,如图10.53 所示。

图10.53 输入年龄

7 输入年龄后,单击“确定”按钮,返回工作

表中,此时表格中已经显示出刚才输入的信息,如

图10.54 所示。

图10.54 输入信息

如何制作会根据早中晚问候的提示对话

具体操作步骤如下。

1 调出“窗体”工具栏,在“窗体”工具栏上,

单击“按钮”按钮,在工作表的适当位置单击并拖

动出一按钮,弹出“指定宏”对话框,在“宏名”

文本框中,输入“温馨提示”然后单击“新建”按

钮,如图10.55 所示。

第 1 章 初识 EXCEL

图 10.57 更改名称

?41?

图 10.55 设置“指定宏”对话框

2 弹出 Visual Basic 编辑器窗口,在代码编辑 区内输入代码,如图 10.56 所示。

图 10.56 输入代码

输入的代码如下: Sub 温馨提示( ) Select Case Time Case Is <0.5

msg=〝小君,早上好!〞 Case 0.5 To 0.75

msg=〝小君,下午好!〞 Case Else

msg=〝小君,晚上好!〞 End Select MsgBox msg End Sub

3 关闭 Visual Basic 编辑器窗口,返回工作表 中,将按钮名称更改为“温馨提示”,如图 10.57 所

示。

4 单击“温馨提示”按钮,弹出提示对话框,

由于当前时间是下午,因此提示信息为“小君,下

午好!”,如图 10.58 所示。

图 10.58 提示信息

如何显示 Excel 窗口的状态

具体操作步骤如下。

1 调出“窗体”工具栏,在“窗体”工具栏上

单击“按钮”按钮,在工作表的适当位置单击并拖 动出一按钮,在工作表的适当处单击并拖动出一按 钮,弹出“指定宏”对话框,在“宏名”文本框中 输入“显示窗口信息”,然后单击“新建”按钮,如 图 10.59 所示。

图 10.59 设置“指定宏”对话框

2 弹出 Visual Basic 编辑器窗口,在代码编辑 区内输入代码,如图 10.60 所示。

?1?

图10.60 输入代码

图10.62 提示Excel 窗口图10.63 提示工作簿窗口

如何快速计算1~100 的整数的平方根之

具体操作步骤如下。

其中输入的代码如下:

Sub 显示窗口信息()

Select Case Application.WindowState

Case xlMaximized: MsgBox "Excel 窗口最

大化"

Case xlMinimized: MsgBox "Excel 窗口工

作簿最小化"

Case xlNormal: MsgBox "Excel 窗口一般

大小"

Select Case ActiveWindow.WindowState

Case xlMinimized: MsgBox "工作簿

最大化"

Case xlMinimized: MsgBox "工作簿

最小化"

Case xlMinimized: MsgBox "工作簿

一般大小"

End Select

End Select

End Sub

3 关闭Visual Basic 编辑器窗口,返回工作表

中,将按钮名称更改为“显示窗口信息”,如图10.61

所示。

图10.61 更改名称

4 单击“显示窗口信息”按钮,弹出提示对话

框,显示当前Excel 窗口的信息,如图10.62 所示。

5 单击“确定”按钮,弹出工作簿的信息,如

图10.63 所示,单击“确定”按钮即可完成。

1 在工作表中建立如图10.64 所示的表格。

图10.64 建立表格

2 调出“窗体”工具栏,在“窗体”工具栏上,

单击“按钮”按钮,在建立表格的下面单击并拖出

一按钮,弹出“指定宏”对话框,在“宏名”文本

框中输入“计算”,然后单击“新建”按钮,如图

10.65 所示。

图10.65 设置“指定宏”对话框

3 弹出Visual Basic 编辑器窗口,在代码编辑

区内输入代码,如图10.66 所示。

图10.66 输入代码

第 1 章初识EXCEL

图10.69 单击“单步执行”按钮

?43?

输入的代码如下:

Sub 计算( )

Sum = 0

For Count = 1 To 100

Sum = Sum + Sqr(Count)

Next Count

Cells(3,3) = Sum

MsgBox Sum

End Sub

4 关闭Visual Basic 编辑器窗口,返回工作表

中,将按钮名称更改为“计算”,然后单击此按钮,

弹出计算结果的对话框,如图10.67 所示。

5 在单元格C3 中,显示出具体的计算值,如

图10.68 所示。

图10.67 提示对话框图10.68 计算值

如何使用“宏”对话框来单步执行宏

具体操作步骤如下。

1 在菜单栏上选择“工具|宏”命令,弹出“宏”

对话框,在列表框中选择需要进行单步执行的宏名,

单击“单步执行”按钮,如图10.69 所示。

2 弹出Visual Basic 编辑器窗口,在代码编辑

区的呈现黄色的行就是正在执行的命令,如图10.70

所示。

图10.70 Visual Basic 编辑器窗口

3 单步执行完毕后,可以在菜单栏上选择“运

行>运行子过程/用户窗体”命令,如图10.71 所示,

来运行程序可行行性。

图10.71 选择“运行子程序/用户窗体”命令

如何调用其他程序

调用其他程序可以简化代码,代码越简单,就

越容易进行修改,同时也容易解码和调试。例如下

面的程序代码就调用了“温馨提示”程序。

Sub main( )

Call 开始输入

Call 温馨提示

Call 离开

End Sub

?1?

等命令

具体操作步骤如下。

1 在菜单栏上选择“工具|自定义”命令,弹

出“自定义”对话框,单击“命令”标签,切换至

“命令”选项卡下,在“类别”列表框中选择“工具”

选项,如图10.72 所示。

图10.72 选择“工具”选项

2 在“命令”列表框中,将“插入脚本”选项

拖到“工具”菜单上,当“工具”菜单显示菜单命

令时,将鼠标指针指向“宏”子菜单,当“宏”子

菜单显示菜单命令时,将鼠标指针指向要放置“插

入脚本”命令的位置,如图10.73 所示,释放鼠标。

图10.73 插入选项

3 对“显示所有脚本”和“删除所有脚本”命

令也采用同样的方法添加。

4 单击“自定义”对话框中的“关闭”按钮即

可完成。

如何对编写的VBA 程序进行调试

具体操作步骤如下。

1 在Visual Basic 编辑器窗口中,在菜单栏上

选择“调试>逐语句”命令。

2 在代码编辑区内程序就会对每个步骤进行调

试,如图10.74 所示。

图10.74 逐语句调试

如何将宏模块复制到其他工作簿中

具体操作步骤如下。

1 打开包含相应模块的工作簿和需要向其中复

制模块的工作簿。

2 在菜单栏上选择“工具|宏|Visual Basic 编

辑器”命令,弹出Visual Basic 编辑器窗口。

3 在Visual Basic 编辑器窗口的菜单栏上,选

择“视图|工程资源管理器”命令。

4 将需要复制的模块拖到目的工作簿中即可完

成。

如何录制一个复制粘贴的宏命令

具体操作步骤如下。

1 在工作表中创建如图10.75 所示的表格。

图10.75 建立表格

2 调出“窗体”工具栏,在“窗体”工具栏上

单击“按钮”按钮,然后在建立表格的下侧单击并

拖动出一按钮,同时弹出“指定宏”对话框,在“宏

名”文本框中输入“复制”,然后单击“录制”按钮,

如图10.76 所示。

第 1 章初识EXCEL

图10.79 更改按钮名称

?45?

图10.76 设置“指定宏”对话框

3 弹出“录制新宏”对话框,在快捷文本框输

入“E”,如图10.77 所示。

图10.77 设置“录制新宏”对话框

4 单击“确定”按钮,返回工作表中,右击单

元格B1,弹出快捷菜单,选择“复制”命令,右击

单元格B2,弹出快捷菜单,选择“粘贴”命令,然

后单击“停止录制”工具栏上的“停止录制”按钮,

如图10.78 所示。

图10.78 单击“停止录制”按钮

5 返回工作表中,将按钮名称更改为“复制”,

如图10.79 所示。

6 在复制区域内输入数据“天气真好!”,然后

单击“复制”按钮,粘贴区域就会自动显示复制区

内的数据,如图10.80 所示。

图10.80 单击“复制”按钮

如何使用按钮来完成对单元格底纹的填

具体操作步骤如下。

1 在工作表中建立如图10.81 所示的表格。

图10.81 建立表格

2 调出“窗体”工具栏,在“窗体”工具栏上,

单击“按钮”按钮,然后在建立表格的下侧单击拖

动出一按钮,弹出“指定宏”对话框,在“宏名”

文本框中输入“填充”,然后单击“录制”按钮,如

图10.82 所示。

图10.82 设置“指定宏”对话框

?1?

10.90 所示。

图10.89 清除按钮

第 1 章初识EXCEL

图10.90 清除数据

图10.93 输入代码

?47?

如何使用按钮来完成自动求和功能

具体操作步骤如下。

1 在工作表中建立如图10.91 所示的表格。

图10.91 建立表格

2 调出“窗体”工具栏,在“窗体”工具栏上

单击“按钮”按钮,然后在建立的表格下侧单击并

拖动出一按钮,弹出“指定宏”对话框,在“宏名”

文本框中输入“求和”,然后单击“新建”按钮,如

图10.92 所示。

图10.92 设置“指定宏”对话框

3 弹出“Visual Basic 编辑器”窗口,在代码编

辑区内输入代码,如图10.93 所示。

输入的代码如下:

Sub 自动求和()

Dim A As Single

A = 0

For i = 3 To 12

A = A + Cells(i, 3)

Next

MsgBox A

End Sub

4 关闭Visual Basic 编辑器窗口,返回工作表

中,将该按钮更名为“自动求和”,然后在表格中填

入数据,如图10.94 所示。

图10.94 填入数据

5 单击“自动求和”按钮,弹出对话框,提示

求和的值,如图10.95 所示。

图10.95 提示计算值

?1?

具体操作步骤如下。

1 在工作表中创建如图10.96 所示的表格。

图10.96 打开表格

2 调出“窗体”工具栏,在“窗体”工具栏上

单击“按钮”按钮,然后在建立的表格下侧单击并

拖动出一按钮,弹出“指定宏”对话框,在“宏名”

文本框中输入“计算平均值”,然后单击“新建”按

钮,如图10.97 所示。

图10.97 单击“编辑”按钮

3 弹出Visual Basic 编辑器窗口,在其中的代

码编辑区内输入代码,如图10.98 所示。

图10.98 输入代码

输入的代码如下:

Sub 计算平均值()

Dim A As Single

A = 0

For i = 3 To 12

A = A + Cells(i, 3)

Next

MsgBox A / 10

End Sub

4 关闭“Visual Basic 编辑器”窗口,返回工作

表中,将该按钮更名为“计算”,单击此按钮,弹出

提示对话框提示计算值,如图10.99 所示。

图10.99 提示计算值

如何使用按钮来实现计数功能

具体操作步骤如下。

1 在工作表中某一区域内输入一列数字,如图

10.100 所示。

图10.100 输入数字

2 调出“窗体”工具栏,在“窗体”工具栏上

第 1 章 初识 EXCEL

图 10.103 更改按钮名称

?49?

图 10.101 设置“指定宏”对话框

3 弹出 Visual Basic 编辑器窗口,在其中的代 码编辑区内输入代码,如图 10.102 所示。

图 10.102 输入代码

输入的代码如下: Sub 计数() Dim a As Single a = 0

For i = 3 To 1000 If Cells(i, 3) = "" Then a = a Else a = a + 1 End If Next MsgBox a End Sub

4 关闭 Visual Basic 编辑器窗口,返回工作表

中,将该按钮更名为“计数”,如图 10.103 所示。

5 单击“计数”按钮,弹出提示对话框,显示 出刚输入的数据的个数,如图 10.104 所示。

图 10.104 提示数据个数

如何使用按钮来实现切换工作表功能

具体操作步骤如下。

1 在工作簿中,单击工作表 Sheet1 标签,切换 至工作表 Sheet1 中。

2 调出“窗体”工具栏,在“窗体”工具栏上

单击“按钮”,在适当处置单击并拖动出一按钮,弹 出“指定宏”对话框,在“宏名”文本框中输入“切 换工作表”,然后单击“新建”按钮,如图 10.105

所示。

图 10.105 设置“指定宏”对话框

?1?

3 弹出Visual Basic 编辑器窗口,在代码编辑

区内输入代码,如图10.106 所示。

图10.106 输入代码

输入的代码如下:

Sub 切换工作簿()

Sheet3.Select

End Sub

4 关闭Visual Basic 编辑器窗口,返回工作表

中,将该按钮更名为“切换工作表”,单击此按钮,

就可以自动切换至工作表Sheet3 中,如图10.107

所示。

图10.107 单击按钮

10.3 VBA中窗体的使用

如何为VBA 程序添加窗体

具体操作步骤如下。

1 切换到Visual Basic 编辑器窗口,如图10.108

所示。

图10.108 Visual Basic 编辑器窗口

2 在菜单栏上选择“插入|用户窗体”命令,

如图10.109 所示。

图10.109 选择“用户窗体”命令

3 在Visual Basic 编辑器窗口中弹出窗体面板

和工具箱,如图10.110 所示。

图10.110 打开面板和工具箱

如何在窗体上添加控件

一般步骤如下。

1 在Visual Basic 编辑器窗口中,在菜单栏上

选择“插入|用户窗体”命令,显示窗体面板,如

图10.111 所示。

图10.111 显示窗体面板

2 在菜单栏上选择“视图|工具箱”命令。

调出工具箱,如图10.112 所示。

EXCEL使用VBA宏生成SQL语句

有时候需要将Excel文件中的数据导入到数据库中,常用的做法是使用程序读取Excel,然后存入数据库;这里换一个方法,用Excel生成SQL语句,然后用这些SQL语句来更新数据库。 本文主要说明Excel如何使用VB宏构造需要的SQL语句,并生成文件。 2、如何添加按钮: 依次打开:视图–工具栏–控件工具箱,选择“命令按钮”,自己画一个就行了; 依次打开:右键–属性,可以修改名称、样式等。 具体操作可以上网找找。 3、如何使用VB宏: 依次打开:工具–宏–安全性,看看你的Excel是否允许使用“宏”。 然后打开:工具–宏–Visual Basic编辑器,双击左侧的“Sheet1”,然后在右侧的代码区域粘贴如下代码: '最大行数 Const MAX_NUM_ROW=5000 '导出文件路径所在单元格 Const PATH_OUTPUT_ROW=3 Const PATH_OUTPUT_COL=3 '定义列常量 Const NAME_COL=1 Const GENDER_COL=2 Const PHONE_COL=3 Const EMAIL_COL=4 '读取数据开始行数 Const START_ROW=5 '定义数据实体类 Private Type Tmplt NAME As String GENDER As String PHONE As String EMAIL As String End Type '行数变量 Dim noOfTmplts As Integer '数据实体类数组 Dim TmpltArray(MAX_NUM_ROW)As Tmplt '点击按钮触发事件 Private Sub CommandButton1_Click() generateSQL End Sub '生成SQL Private Sub generateSQL() makedir initData writeToFile

Excel宏的用法详解

宏的用法详解 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言V ASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel等)自动化 2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序. 3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如excel. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在excel中用VBA创建解决方案后,即已具备在word access OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识. * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化. * VBA可以称作excel的“遥控器”. VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案. 此外,如果你愿意,还可以将excel用做开发平台实现应用程序. 1.2 excel环境中基于应用程序自动化的优点 也许你想知道VBA可以干什么?使用VBA可以实现的功能包括: 1. 使重复的任务自动化. 2. 自定义excel工具栏,菜单和界面. 3. 简化模板的使用. 4. 自定义excel,使其成为开发平台. 5. 创建报表. 6. 对数据进行复杂的操作和分析. 用excel作为开发平台有如下原因: 1. excel本身功能强大,包括打印,文件处理,格式化和文本编辑. 2. excel内置大量函数. 3. excel界面熟悉. 4. 可连接到多种数据库. 用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保

excel的宏教程免费下载

Microsoft excel是一款功能非常强大的电子表格软件。它可以轻松地完成数据的各类数学运算,并用各种二维或三维图形形象地表示出来,从而大大简化了数据的处理工作。但若仅利用excel的常用功能来处理较复杂的数据,可能仍需进行大量的人工操作。但excel的强大远远超过人们的想象--宏的引入使其具有了无限的扩展性,因而可以很好地解决复杂数据的处理问题。 随着支持Windows的应用程序的不断增多和功能的不断增强,越来越多的程序增加了宏处理来方便用户的自由扩展。但初期各应用程序所采用的宏语言并不统一,这样用户每使用一种应用程序时都得重新学习一种宏语言。为了统一各种应用程序下的宏,Microsoft推出了VBA(Visual Basic for Applications)语言。 VBA是从流行的Visual Basic编程语言中派生出来的一种面向应用程序的语言,它适用于各种Windows应用程序,可以解决各应用程序的宏语言不统一的问题。除此之外,使用 VBA语言还有如下优点:1、VBA是一种通用程序语言,通过它不仅可以共享Microsoft相关的各种软件(如excel、 word、access)……,而且随着其它的一些软件(如大名鼎鼎的AutoCAD2000)等对VBA的支持,这些软件也已进入到了VBA的控制范围;2、可以将用VBA编写的程序复制到Visual Basic中调试并运行,从而实现用Visual Basic来控制有关的应用程序;3、VBA 提供的大量内部函数大大简化了用户的操作。 对于而今的宏,不仅语言统一规范,而且其功能也已非常强大。但在大多数介绍excel的"傻瓜书"、"指南"、"入门与提高"等参考书中往往略过不提,或浅浅带

excel宏教程.doc

Excel宏教程 一、选中单个单元格 Range(“<单元格地址>“ ).Select 例: Range("C9").Select‘选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>] ” ).Select 例: Range(“A1:B2”).Select‘选中“A1”、“A2”、“B1”、“B2”四个连续的单元格 Range(“ 12:12” ).Select‘选中第12行 Range(“ B:B” ).Select‘选中第B列 Range(“ A1:A2,B7,2:2” ).Select‘选中“ A1、”“A2、”“B7五”个不连续的单元格和第二行Cells.Select‘选中当前 SHEET 中的所有单元格 Rows("< 行地址 >:< 行地址 >").Select‘选中整行 Columns("< 列地址 >:< 列地址 >").Select‘选中整列 例: Rows(“2:2 ”). Select‘选中第2行 Rows( “ 2:5 ” ). Select‘选中 2 到 5 行 Columns("A:A").Select‘选中A列 Columns("E:B").Select‘选中E到B列

三、设置活动单元格 Range("< 单元格地址 >").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格, 如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 四、给活动的单元格赋值 ActiveCell.FormulaR1C1 = <值> 例: Range("A1").Select ActiveCell.FormulaR1C1 = "Name" Range("B1").Select ActiveCell.FormulaR1C1 = "Age" Range("A2:B3").Select Range("A2").Activate ActiveCell.FormulaR1C1 = " BUG" Range("B2").Activate ActiveCell.FormulaR1C1 = "12" Range("A3").Activate ActiveCell.FormulaR1C1 = "Archer" Range("B3").Activate ActiveCell.FormulaR1C1 = "37"

Excel宏功能简单应用介绍

Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。MicrosoftOffice的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到She et1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在 Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。 对于上面这个事例,实际上只是简单的复制操作,所以甚至连录制的工作都可以省掉了。因为所需要的操作是一个循环的过程,所以我们可以使用一个循环语句来编写程序,这样只要写出一个完成的复制过程,一次循环就可以达到我们的目的了。循环判断的依据就是是否Sheet1的A列所有日期都复制过了,因为数据都是连续排列的,艘以我们可以把Sheet1的A列某个单元格是否有数据作为进入循环的条件,依次复制日期,直到A7这个没有数据的空单元格,循环结束,我们的工作也就完成了。至于循环里面的内容,我们同样再嵌套一个循环,只不过这次是判断第2行的数据是否全都复制完成了,在这个循环里面自然就是单元格数据和日期的复制了。 Sub Macro1() Dim st1y Dim st2y Dim st1x

办公高手EXCEL常用宏命令

办公高手.EXCEL常用宏命令 1 设置打开时弹出对话框的命令举例: Sub AUTO_OPEN() "输入打开工作表时要运行的代码或宏" End Bub 2 设置关闭时弹出对话框的命令举例: Sub AUTO_CLOSE() "输入关闭工作表时要运行的代码或宏" End Bub 3 设置提示框举例: MsgBox prompt:="温馨提示:您要打开的工作表有保护!", Buttons:=vbOKOnly, Title:="谷子提示 " i = MsgBox("系统提供不同服务,是否浏览资费信息?", vbYesNoCancel, "谷子提示:") If i = vbYes Then MsgBox "资费信息:********", , "谷子提示" Else "输入要运行的代码" End If 4、提示框内容过长,换行vbNewLine: MsgBox "您本次访问系统的时间是:" & Date & " " & Time & vbNewLine & "系统离到期日还剩余:" _ & DateDiff("d", Now, "2010-12-31") & " 天!" & vbNewLine & "是否查阅到期日说明?", vbYesNoCancel, "时间和到期日提示:" 5 提示提示系统的日期和时间: MsgBox "系统当前日期和时间:" & Date & " " & Time, , "时间提示" DateDiff("d", Now, "2010-10-31") & " 天!" ‘提示离指定日期的剩余天数 6 系统时间判断命令: Sub 判断时间测试() If Date > "2010-05-20" Then MsgBox "对不起,测试期间已经结束", , "谷子提示" Else Sheets("首页").Select '或其他命令 End If End Sub 7 禁止保存或另存的命令: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox ("禁止保存") Cancel = True '或thisworkbook.saved=true End Sub 8 保护工作表与撤销保护 Sheet2.Protect Password:="123456", DrawingObjects:=True, Contents:=True, Scenarios:=True '保护工作表SHEET2 Sheet2.Unprotect ("123456") '解除保 护 9 保护工作簿与撤销保护 ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="123" ActiveWorkbook.Unprotect Password:="123"

Excel宏的使用教程

Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件,其中包括Excel、PPT、Word、Outlook等。 使用Excel的VBA开发的Excel文档,在Excel中运行时需要开启Excel 的宏功能,否则此文档的VBA自动化功能将被完全屏蔽,文档的功能无法实现。 因此,在打开这些Excel程序文件之前,您需要先对您的Excel宏安全性进行设置(设置永久有效,在同一台电脑上无需再次设置) 在Excel2003版本中,可以依以下步骤操作: 1,在Excel的菜单栏上依次单击“工具”——“宏”——“安全性”,打开下图所示的“安全性”对话框, 2,在“安全级”选项卡中将宏的安全级别设置为“中”或“低”。其中推荐使用“中”级,这样的设置并不会降低您的安全性,您仍然对任意一个宏文件都拥有主动选择是否运行的权力。 在宏的安全性级别设置成功后,再次打开Excel程序文件时,会出现下图所示信息框,此时点击“启用宏”按钮即可使本程序正常运行: 在Excel2007/2010版本中,可以依以下步骤操作: 1,依次单击Excel的Office按钮(2010版本为“文件”按钮)——“Excel 选项”,打开下图所示的“Excel选项”选项卡,在左侧列表中选择“信任中心”,在右侧出现的窗口中点击“信任中心设置”按钮, 2,打开“信任中心”选项卡,在左侧选择“宏设置”,在右侧出现的窗口中选择“禁用所有宏,并发出通知”选项,单击确定完成。 在宏的安全性级别设置成功后,再次打开Excel程序文件时,在信息栏(编辑栏上方)会出现下图所示的警告信息,此时点击其中的“选项”按钮打开Offi ce安全选项对话框,在其中选择“启用此内容”选项并确定即可使本程序正常运行。

【免费下载】EXCEL宏的使用

目录 EXCEL宏的使用 (2) 一、选中单个单元格 (2) 二、选中多个单元格 (2) 三、设置活动单元格 (2) 四、给活动的单元格赋值 (3) 五、得到指定单元格中的值 (3) 六、插入单元格 (3) 七、设置字体属性 (4) 八、清空选中单元格里的内容 (5) 九、设置选中单元格的边线属性 (5) 十、删除选中的单元格 (6) 十一、设置单元格背景色及图案 (7) 十二、返回工作表中的行数 (8) 十三、得到当前EXCEL的文件名 (8) 十四、批注的操作 (8) 十五、剪切、复制、粘贴 (9) 十六、选择性粘贴 (10) 十七、改变列宽 (10) 1

EXCEL宏的使用 一、选中单个单元格 Range(“<单元格地址>“).Select 例:Range("C9").Select ‘选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select 例:Range(“A1:B2”).Select ‘选中“A1”、“A2”、“B1”、“B2”四个连续的单元格 Range(“12:12”).Select ‘选中第12行 Range(“B:B”).Select ‘选中第B列 Range(“A1:A2,B7,2:2”).Select ‘选中“A1”、“A2”、“B7”五个不连续的单元格和第二行 Cells.Select ‘选中当前SHEET中的所有单元格 Rows("<行地址>:<行地址>").Select ‘选中整行 Columns("<列地址>:<列地址>").Select ‘选中整列 例:Rows(“2:2”). Select ‘选中第2行 Rows(“2:5”). Select ‘选中2到5行 Columns("A:A").Select ‘选中A列 Columns("E:B").Select ‘选中E到B列 三、设置活动单元格 Range("<单元格地址>").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格,如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 2

Excel常见宏命令

清除剪贴板 Sub清除剪贴板() Application.CutCopyMode=False https://www.doczj.com/doc/594351318.html,mandBars("Task Pane").Visible=False End Sub 批量清除软回车 Sub批量清除软回车() '也可直接使用Alt+10或13替换 Cells.Replace What:=Chr(10),Replacement:="", LookAt:=xlPart,SearchOrder:=_ xlByRows,MatchCase:=False,SearchFormat:=False, ReplaceFormat:=False End Sub 判断指定文件是否已经打开 Sub判断指定文件是否已经打开() Dim x As Integer For x=1To Workbooks.Count If Workbooks(x).Name="函数.xls"Then'文件名称MsgBox"文件已打开" Exit Sub End If Next MsgBox"文件未打开" End Sub 当前文件另存到指定目录 Sub当前激活文件另存到指定目录() ActiveWorkbook.SaveAs Filename:="E:\信件\"& https://www.doczj.com/doc/594351318.html, End Sub

另存指定文件名 Sub另存指定文件名() ActiveWorkbook.SaveAs ThisWorkbook.Path&"\别名.xls" End Sub 以本工作表名称另存文件到当前目录 Sub以本工作表名称另存文件到当前目录() ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path&"\" &https://www.doczj.com/doc/594351318.html,&".xls" End Sub 将本工作表单独另存文件到Excel当前默认目录 Sub将本工作表单独另存文件到Excel当前默认目录() ActiveSheet.Copy ActiveWorkbook.SaveAs Filename:=https://www.doczj.com/doc/594351318.html,& ".xls" End Sub 以活动工作表名称另存文件到Excel当前默认目录 Sub以活动工作表名称另存文件到Excel当前默认目录() ActiveWorkbook.SaveAs Filename:=https://www.doczj.com/doc/594351318.html,& ".xls",FileFormat:=_ xlNormal,Password:="",WriteResPassword:="", ReadOnlyRecommended:=False_ ,CreateBackup:=False End Sub 另存所有工作表为工作簿 Sub另存所有工作表为工作簿() Dim sht As Worksheet Application.ScreenUpdating=False ipath=ThisWorkbook.Path&"\" For Each sht In Sheets

excel常用宏资料

1.拆分单元格赋值 Sub 拆分填充() Dim x As Range For Each x In https://www.doczj.com/doc/594351318.html,edRange.Cells If x.MergeCells Then x.Select x.UnMerge Selection.Value = x.Value End If Next x End Sub 2.E xcel 宏按列拆分多个excel Sub Macro1() Dim wb As Workbook, arr, rng As Range, d As Object, k, t, sh As Worksheet, i& Set rng = Range("A1:f1") Application.ScreenUpdating = False Application.DisplayAlerts = False arr = Range("a1:a" & Range("b" & Cells.Rows.Count).End(xlUp).Row) Set d = CreateObject("scripting.dictionary") For i = 2 To UBound(arr) If Not d.Exists(arr(i, 1)) Then Set d(arr(i, 1)) = Cells(i, 1).Resize(1, 13) Else Set d(arr(i, 1)) = Union(d(arr(i, 1)), Cells(i, 1).Resize(1, 13)) End If Next k = d.Keys t = d.Items For i = 0 To d.Count - 1 Set wb = Workbooks.Add(xlWBATWorksheet) With wb.Sheets(1) rng.Copy .[A1] t(i).Copy .[A2] End With wb.SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xlsx" wb.Close Next

Excel常用宏大全

Excel 常用宏大全(一) 259个常用宏-excelhome-LangQueS(1) 2008-04-01 17:21 打开全部隐藏工作表 Sub 打开全部隐藏工作表() Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Visible = True Next i End Sub 循环宏 Sub 循环() AAA = Range("C2") Dim i As Long Dim times As Long times = AAA 'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于47) For i = 1 To times Call 过滤一行 If Range("完成标志") = "完成" Then Exit For '如果名为'完成标志'的命名单元的值等于'完成',则退出循环,如果一开始就等于'完成',则只执行一次循环就退出 'If Sheets("传送参数").Range("A" & i).Text = "完成" Then Exit For '如果某列出现"完成"内容则退出循环

Next i End Sub 录制宏时调用“停止录制”工具栏 Sub 录制宏时调用停止录制工具栏() https://www.doczj.com/doc/594351318.html,mandBars("Stop Recording").Visible = True End Sub 高级筛选5列不重复数据至指定表 Sub 高级筛选5列不重复数据至Sheet2() Sheets("Sheet2").Range("A1:E65536") = "" '清除Sheet2的A:D列 Range("A1:E65536").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheet2.Range( _ "A1"), Unique:=True Sheet2.Columns("A:E").Sort Key1:=Sheet2.Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin End Sub 双击单元执行宏(工作表代码) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Range("$A$1") = "关闭" Then Exit Sub Select Case Target.Address Case "$A$4" Call 宏1

257个Excel宏常用语句

257个Excel宏常用语句 1、打开全部隐藏工作表 (7) 2、循环宏 (7) 3、录制宏时调用“停止录制”工具栏 (7) 4、高级筛选5列不重复数据至指定表 (7) 5、双击单元执行宏(工作表代码) (8) 6、双击指定区域单元执行宏(工作表代码) (8) 7、进入单元执行宏(工作表代码) (8) 8、进入指定区域单元执行宏(工作表代码) (9) 9、在多个宏中依次循环执行一个(控件按钮代码) (9) 10、在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) (9) 11、在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码) (10) 12、根据A1单元文本隐藏/显示按钮(控件按钮代码) (10) 13、当前单元返回按钮名称(控件按钮代码) (10) 14、当前单元内容返回到按钮名称(控件按钮代码) (11) 15、奇偶页分别打印 (11) 16、自动打印多工作表第一页 (11) 17、查找A列文本循环插入分页符 (12) 18、将A列最后数据行以上的所有B列图片大小调整为所在单元大小 (12) 19、返回光标所在行数 (13) 20、在A1返回当前选中单元格数量 (13) 21、返回当前工作簿中工作表数量 (13) 22、返回光标选择区域的行数和列数 (13) 23、工作表中包含数据的最大行数 (13) 24、返回A列数据的最大行数 (13) 25、将所选区域文本插入新建文本框 (14) 26、批量插入地址批注 (14) 27、批量插入统一批注 (14) 28、以A1单元内容批量插入批注 (15) 29、不连续区域插入当前文件名和表名及地址 (15) 30、不连续区域录入当前单元地址 (15) 31、连续区域录入当前单元地址 (15) 32、返回当前单元地址 (16) 33、不连续区域录入当前日期 (16) 34、不连续区域录入当前数字日期 (16) 35、不连续区域录入当前日期和时间 (16) 36、不连续区域录入对勾 (16) 37、不连续区域录入当前文件名 (16) 38、不连续区域添加文本 (16) 39、不连续区域插入文本 (17) 40、从指定位置向下同时录入多单元指定内容 (17) 41、按aa工作表A列的内容排列工作表标签顺序 (17) 42、以A1单元文本作表名插入工作表 (17)

excel常用宏集合

65:删除包含固定文本单元的行或列 Sub 删除包含固定文本单元的行或列() Do (what:="哈哈").Activate '删除行 ' '删除列 Loop Until (what:="哈哈") Is Nothing End Sub 72:在指定颜色区域选择单元时添加/取消"√"(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myrg As Range For Each myrg In Target If = 37 Then myrg = IIf(myrg <> "√", "√", "") Next End Sub 73:在指定区域选择单元时添加/取消"√"(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rng As Range If <= 15 Then If Not (Target, Range("D6:D20")) Is Nothing Then For Each Rng In Selection With Rng If .Value = "" Then .Value = "√" Else .Value = "" End If End With Next End If End If End Sub 74:双击指定单元,循环录入文本(工作表代码)

Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean) If <> "$A$1" Then Exit Sub Cancel = True T = IIf(T = "好", "中", IIf(T = "中", "差", "好")) End Sub 75:双击指定单元,循环录入文本(工作表代码) Dim nums As Byte Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If = "$A$1" Then nums = nums Mod 3 + 1 Target = Mid("上中下", nums, 1) (1, 0).Select End If End Sub 76:单元区域引用(工作表代码) Private Sub Worksheet_Activate() ("A1:B3").Value = ("A1:B3").Value End Sub 77:在指定区域选择单元时数值加1(工作表代码) Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not ([a1:e10], Target) Is Nothing Then Target = Val(Target) + 1 End If End Sub 259个常用宏-excelhome(3) 2009-08-15 14:12:58 78:混合文本的编号 Sub 混合文本的编号() Worksheets(1).Range("B2").Value = "北京" & (--(Mid(Worksheets(1).Range("B2"), 3,

Excel宏功能简单应用介绍

Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B 列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到Sheet1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。

EXCEL一般常用宏.

代码目录链接类别 登录打开全部隐藏工作表点击工作表 循环宏点击宏管理 录制宏时调用“停止录制”工具栏点击其他 高级筛选5列不重复数据至指定表点击筛选 在多个宏中依次循环执行一个(控件按钮代码点击宏管理在两个宏中依次循环执行一个并相应修改按钮名称 点击宏管理 (控件按钮代码 在三个宏中依次循环执行一个并相应修改按钮名称 点击宏管理 (控件按钮代码 根据A1单元文本隐藏/显示按钮(控件按钮代码点击控件当前单元返回按钮名称(控件按钮代码点击控件 当前单元内容返回到按钮名称(控件按钮代码点击控件奇偶页分别打印点击打印 自动打印多工作表第一页点击打印 查找A列文本循环插入分页符点击打印 将A列最后数据行以上的所有B列图片大小调整为所在

点击对象 单元大小 返回光标所在行数点击查找和引用 返回光标选择区域的行数和列数点击查找和引用工作表中包含数据的最大行数点击查找和引用返回A列数据的最大行数点击查找和引用 将所选区域文本插入新建文本框点击对象 批量插入地址批注点击批注 批量插入统一批注点击批注 以A1单元内容批量插入批注点击批注 以A1单元文本作表名插入工作表点击单元赋值批量插入当前文件名和表名及地址点击单元赋值区域录入当前单元地址点击单元赋值 区域录入当前日期点击单元赋值 区域录入当前数字日期点击单元赋值 区域录入当前日期和时间点击单元赋值 不连续区域录入对勾点击单元赋值 不连续区域录入当前文件名点击单元赋值 不连续区域添加文本点击单元赋值

不连续区域插入文本点击单元赋值 从指定位置向下同时录入多单元指定内容点击单元赋值 按aa工作表A列的内容排列工作表标签顺序点击工作表 删除全部未选定工作表点击工作表 工作表标签排序点击工作表 在目录表建立本工作簿中各表链接目录点击文件管理 建立工作表文本目录点击工作表 查另一文件的全部表名点击工作表 当前单元录入计算机名点击单元赋值 当前单元录入计算机用户名点击单元赋值 解除全部工作表保护点击工作表为指定工作表加指定密码保护表点击密码 在有密码的工作表执行代码点击密码 执行前需要验证密码的宏(控件按钮代码点击密码 拷贝A1公式和格式到A2点击单元赋值复制单元数值点击单元赋值插入数值条件格式点击格式 插入透明批注点击批注 添加文本点击单元赋值光标定位到指定工作表A列最后数据行下一单元点击定位 定位选定单元格式相同的全部单元格点击定位

中文EXCEL70宏的使用方法技巧详解

中文EXCEL 7.0宏的使用方法、技巧详解 Excel的宏是由一系列的Visual Basic语言代码构成的,因此,如果你熟悉VisualBasic语言,可以用它编写为宏,如果用户不熟悉VB语言,可以用记录功能建立宏。下面详细介绍一下有关的方法和技巧。一、建立宏 要想建立一个宏,方法有两种:一是用宏记录器记录所要执行的一系列操作;二是用Visual Basic语言编写。这两种方法各有优越之处,自动记录宏可以使用户在不懂Visual Basic语言的情况下也可建立自己的宏,但缺点是对于一些复杂的宏要记录的操作很多,而且可能有些功能并非是能通过现有的操作所能完成的;自己动手编写宏则不必进行繁琐的操作而且能实现自动记录所不能完成的一些功能。在这里需要说明的一点是,即使自动记录的宏,记录器也是把它翻译成Visual Basic语言来存放的,因此,在这里的一点技巧是你可以使用自动记录功能记录宏,记录完毕后再打开宏进行编辑、修改简化或增强宏的功能,这样可省去许多输入代码的工作。建立宏的方法如下: 1.在"工具"菜单中,选择"记录宏",再单击右侧的"记录新宏"命令。 2.在对话框中输入宏名。可以使用省略宏名如"宏2",也可以在"宏名"框中键入另一名称。 3.若要给出宏的简单说明,在"说明"框中可键入描述性文字。 4.若要设置有关宏的选项,单击"选项"。 5.单击"确定",然后执行所记录的操作。 6.操作完成之后,在"工具"菜单中, 选择"记录宏",右侧的"记录新宏"命令已变成了"停止记录",单击即可结束。"记录宏"命令下的其它三个选项的说明:

"使用相对引用"——此项为一开关选项,此开关不打开时,记录宏使用单元格绝对引用,用这种方式记录的宏总是在最初记录宏的单元格位置操作。此开关打开之后,用户在任何情况下都可以使用宏而不是在特定的单元或范围中才能使用,当然存储此宏的工作簿必须在打开的情况下宏才能使用,使用相对引用可使记录的宏使用更灵活。 "标示记录位置"和"在标示处记录"——指的是确定开始记录宏的位置,从此处开始记录宏的代码。注意:此两选项只对"模块"工作表(记录操作后翻译为VB代码的工作表Module)有效。 "记录新宏"对话框的选项说明: "工具"菜单下的菜单项——可以将宏加入到"工具"菜单下,作为一个菜单选项,以供方便使用。 快捷键——通过指定快捷键执行宏。需注意的一点是:当包含宏的工作薄打开时,此宏的快捷键优先Microsoft Excel快捷键执行, 因此,如果你为宏设置的快捷键和Excel的快捷键相同的话,那么Excel的快捷键将不能发挥作用,要尽量避免快捷键相同。 保存到"个人工作簿"——"个人工作簿"是一个隐蔽的工作簿,一般情况下启动Excel时会自动打开它,因此,如果将常用的宏保存在其中, 可以在任何工作簿中使用,建议将非专用的宏都放在此簿中,使用方便,管理也方便。 保存到"当前工作簿"——将宏存储到当前工作簿中,只有当记录该宏的工作簿打开时,本工作簿和其它的工作簿才能使用它,一般的工作簿专用宏用此选项。 保存到"新工作簿"——将宏保存到新的工作簿中,该项意义不大,一般很少用。语言选项——Visual Basic,将记录的操作翻译为Visual Basic语言,这是常用的选项。MS Excel 4.0 宏语言,将操作翻译为Excel 4.0的宏语言,如果你对4.0版的宏语言不熟悉,尽量不要采用此选项,否则给以后的编辑、修改带来麻烦。

相关主题
文本预览
相关文档 最新文档