20150916_001 vba 基础

一、什么是“宏”、“宏”有什么用

关于“宏”的详细定义,可以参考百度百科的解释(点击查看)。我给它一个简单的或许不太严谨的定义:

宏的通俗定义:宏是被某些软件所能识别、理解并执行的特定代码/脚本。

宏的作用:因为宏能被软件执行、不需要人工来操作了,从而能实现“自动、批量”的业务处理,极大提高工作效率。

二、“宏”不是Excel也不是Office专有

要知道,宏不是Excel特有的,Office的其他组件如PPT、Word、Outlook等也都有宏。不光Office,不少软件也带有宏功能。例如印象中PS可以将一堆图片进行批量的裁剪或添加水印等处理,这可以视为一种宏。甚至连文本编辑器EditPlus都带有宏录制功能。还有些软件就专门实现宏功能的,类似“鼠标键盘录制回放器”那样将键盘操作记录下来再重新回放,比较知名的如:按键精灵、AutoHotkey等。

三、“宏”长什么样

如第2部分所述,很多软件都带有宏,不同软件的宏也不一样。下面这段是AutoHotkey的脚本:

#z::Run www.autohotkey.com

::/note::

IfWinExist 无标题 - 记事本

WinActivate

else

Run Notepad

return

而Office里的宏称为VBA(Visual Basic for Application)。不同组件(Excel/PPT/Word等)中的VBA语法一样,但所支持的对象、方法会有所不同。具体代码见后文示例。

四、VBA:Excel中的宏

终于讲到Excel的宏了。VBA基本上就是VB(不知道VB是啥?点此)的简化版,如果有VB功底,学VBA就不费劲了。

但毕竟VBA还是属于“开发”类工作,没有任何编程经验的人(码农)能不能学会VBA呢?答案是肯定的!只要有人带进门加以点拨,再肯下些功夫,一定可以写出一些提高工作效率的VBA工具。我在新浪工作期间,曾经有个实习生能修改我写的VBA工具,学中文的,女生。

五、在哪里编写VBA:Excel VBE开发环境

下面我们来制作一个带宏的Excel文档。详细步骤:

1.新建一个工作薄,文件->另存为,“文件名”输入“宏测试”,在“文件类型”中选择“Excel 启用宏的工作薄(*.xlsm)”,点击保存。

2.按Alt+F11组合键,调出VBE窗口。右键点击“VBAProject”->插入->模块。然后,在左边的窗口中出现“模块1”。

3.双击“模块1”,在右侧的空白区录入以下代码(此代码用于在屏幕上显示一个文字提示框),完成VBA宏的编辑。见下图:

Sub VBATest()

MsgBox "这是我的第1个VBA程序。"

End Sub

注:为了使用更多关于宏的功能,最好将Excel中的“开发工具”选项卡调出来。Excel2007和2010显示“开发工具”选项卡的设置方法分别是:

Excel2007:

点击Excel左上角的Office按钮,点击弹出的菜单底部的“Excel选项”按钮,在“常用”项里勾上“在功能区显示开发工具选项卡”,确定即可。

Excel2010:

点文件->选项,在Excel选项对方框里找到“自定义功能区”,在右侧勾上“开发工具”,确定。

经过以上设置后,就能在Excel主窗口上看到“开发工具”选项卡了,点开里面有诸多关于宏开发的功能。例如点击最左边的“Visual Basic”按钮也能进入VBE开发界面,跟按Alt+F11的效果一样。

六、如何运行VBA宏

至此,我们已经成功的编写了一个VBA宏,是不是很想看看这个宏执行的结果呀?接下来探讨如何运行宏、让宏正常工作了。通常有以下几个办法:

1.从开发环境中直接运行。将光标置于Sub/End sub之间,按菜单上的绿三角按钮,或F5键。

2.通过形状按钮调用。在工作表,点“插入”->形状,插入一下圆角矩形,输入“调用宏”并简单设置格式:

右键点击“调用宏”这个形状,在弹出的菜单中选择“指定宏”,在“指定宏”对话框中选择刚才编写的宏(名称是VBATest),确定。

在工作表任一单元格点击一下(好取消按钮的选中状态),这时鼠标移到按钮上就变成了小手的形状,点击后出现本宏运行的结果:

3.快捷键调用。可以为宏设置一个快捷键,设置正确后直接按快捷键来运行宏。方法是:

在“开发工具”选项卡,点“宏”按钮,选中“VBATest”,点击右侧的“选项”按钮,设置一个快捷键,确定。

注意:此处设置的快捷键优先级高,如果跟软件原来的快捷键冲突,会覆盖原来的。

七、为工程设置密码保护

我们编写好的宏,为了防止被人任意修改,可以设置密码。通过后才可以进到代码编辑界面进行修改。具体操作方法:在左上角的列表树上右键点击 “VBAProject...”,在弹击的菜单中选择“VBAProject属性”打开对话框,选择“保护”选项卡,勾选“查看时锁定工程”,并设置查看工程属性的密码,单击“确定”。如下图:

时间: 2024-10-26 18:02:54

20150916_001 vba 基础的相关文章

VBA基础——循环语句

VBA基础之循环语句 Sub s1() Dim rg As Range For Each rg In Range("a1:b7,d5:e9") If rg = "" Then rg = 0 End If Next rg End Sub Sub s2() Dim x As Integer Do x = x + 1 If Cells(x + 1, 1) <> Cells(x, 1) + 1 Then Cells(x, 2) = "断点"

Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多&gt;

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

VBA基础出发

一.什么是VBA,学习的原因是什么. Visual Basic for Applicaion(VBA)是Visual Basic的一种宏语言,主要用来扩展Windows的应用程序功能.在日常生活中,使用的word.excel虽然功能已经足够丰富,但是要真正的说会使用他们,那么不得不学习VBA,来提高office的更高的效率. 二.Excel VBA前期 常见问题1:"VBE6EXT.OLB 不能被加载","内存溢出". 解决方法:1.可以直接在office的安装目录

VBA基础 - 函数和模块

概要 对于一般的 VBA 程序来说, 可能一个或几个函数就行了. 毕竟, VBA 只是作为 excel 的辅助工具来用的. 但是, 随着 VBA 写的越来越多, 用个工程来管理就有必要了, 而一个代码工程的基础, 就是 函数 和 模块. 函数 VBA 的中的函数有 2 种, 一种是 Sub, 一种是 Function 在 VBA 中, 其实 Sub 叫过程, 不叫函数, 它们的区别有 2 个: Function 有返回值, Sub 没有 Sub 可以直接执行, Function 必须被调用才能执

VBA基础知识———常用语句

语句一:if判断语句 Sub 判断1() '单条件判断 If Range("a1").Value > 0 Then Range("b1") = "正数" Else Range("b1") = "负数或0" End If End Sub Sub 判断2() '多条件判断 If Range("a1").Value > 0 Then Range("b1") =

VBA基础概念

一:VBA对象 'VBA对象 'VBA中的对象其实就是我们操作的具有方法.属性的excel中支持的对象 'Excel中的几个常用对象表示方法 '1.工作簿 ' Workbooks 代表工作簿集合,所有的工作簿,Workbooks(N),表示已打开的第N个工作簿 ' Workbooks ("工作簿名称") ' ActiveWorkbook 正在操作的工作簿 ' ThisWorkBook '代码所在的工作簿 '2.工作表 ' 'Sheets("工作表名称") 'Shee

vba基础知识汇总

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

MicroStation VBA基础

实习笔记1 2016年8月1日 14:12 Option Explicit 缺省情况下,如果使用一个没有声明的变量,它将继承“Variant”类型.在模块.窗体和类的通用声明区使用“OptionExplicit”能强制我们必须声明变量后才能使用变量 Sample: Option Explicit Sub test() X = 5 End Sub 在通用声明区声明了“Option Explicit”.当试着去运行上述test宏时将得到一个错误 本章回顾 1.在过程.函数或用户窗体事件中写代码 2.