excel,VBA基础入门.docx
《excel,VBA基础入门.docx》由会员分享,可在线阅读,更多相关《excel,VBA基础入门.docx(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、谈VBA最最基础入门原创如果你是学习Excel的朋友,对VBA这个概念不陌生吧?VBA的功能实在太强大,可初学的我们,面对那一串串尤如外星文的代码,你是不是看得头昏脑胀想学,是不是却茫然得找不到入口? 在这里,我把我自己的学习心得和笔记放出来,和大家一起分享交流, 一起学习,共同进步。对了,还要告诉大家,我也是初学者,不是高手,如果有 什么说得不对的,希望大家及时指出。我的目的不是教学,而是期望创造一个有 你,有我,有他的学习氛围!开始吧,记住一个共同的目标掀开那层神秘 的面纱,看看VBA的真实面目。贴子内容1、什么是VBA为什么要学习VBA2、VBA与宏3、VBE简介4、对象、属性、方法、事
2、件5、VBA过程6、数据类型、变量、数组、常量7、(回复)该定义变量为何种数据类型8、VBA的函数9、程序流程控制:if语句10、程序流程控制:SeIect Case语句11.程序流程控制:Fornext语句12、几个fornext循环的例子(作者:老朽(1)选择单元格或单元格区域;(2)单击按钮。仅我在学习VBA-VVVVVVVV )、|】、)、| 学学学学学学学学 在在在在在在在在 .我我我我我我我我 -VVVVVVVV )、|】、)、| 学学学学学学学学 在在在在在在在在 .我我我我我我我我 -9101415161718XAAAAAAAABBBBBBBB修改格式文件电)编辑视图9 插入复
3、)格式地)工具建)变后610后I晋EIXdiV为力宋体 1211Al我在学习VBA 我在学习VBA 我在学习VBA 我在学习VBA 我在学习VBA 我在学习VBA 我在学习VBA 我在学习UBA修改格式点击它B KB)按钮就像装在楼下的门铃,美丽的嫦娥仙子家住在502,猪八戒来到楼下, 找准号码502,轻轻一按,“叮咚,叮咚”,嫦娥在楼上就给八戒开门了,八 戒不用在楼下大声地喊“嫦娥,开门。”也不用花两毛钱给嫦娥打个电话,当然 更不用顺着下水管从墙上爬进嫦娥的窗户,方便而实在吧? 这种遥控式的命令的确能让繁琐的操作变得简单而方便,让我们获得了一 些使用Excel标准命令所不能实现的功能。如果你
4、是八戒,当你熟悉了如何使用 这种遥控一样的门铃以后,你可能都会奇怪自己当初在没有门铃的情况下,那段 漫长的爬下水管道的日子是怎么熬过来的。让嫦娥仙子开门的方法有很多种,同样执行宏也有多种方法可以选择,我们 还可以把宏指定给图片,自选图形,这些比较简单,和指定给窗体按钮是一样的, 同时我们还可以把宏指定给某个“事件”,比如单击工作表,双击工作表,激活 工作表,打开工作簿等等,你要安什么要的门铃,选什么样的音乐,随你了。MsgBox 第一”维的上界是:& UBound (ar r, 1) & Chr (13) & _第二维的上界是:& UBound (ar r, 2)End Sub六、Join函数
5、Join的作用和Spl it的作用相反。Sp I it是将字符按指定字符转为数组,Join 是将数组以指定字符分开,连成一个字符串。如:代码:Sub ggsmart 0D im arr (1 To 10), i As I nteger, txt As Str i ngFor i = 1 To 10 给数组赋值arr (i)= iNext itxt = Joi n (arr, , ) 4号arr数组的元素连成字符串,用逗号作分隔 符MsgBox txtEnd SubJoin的第二参数,即分隔符可以不指定,在不指定时,默认为以空格作分 隔符。七、将数组输入单元格区域1、使用循环输入如将存储了 1到
6、60000的数的数组写入A列,贝h代码:Sub testl ()创建数组,并赋值Dim arr (1 To 60000), i As LongFor i = 1 To 60000arr (i)= iNext i将数组的值写入单元格(A列)a1:a65536. Clear 清除原有数据Dim i row As LongDim startime As DoubIestartime = TimerFor i row = 1 To 60000Cel I s (i row, 1) = arr (i row)Next i rowMsgBox 数组写入共用了 & Timer - startime & 秒!E
7、nd Sub以上程序是使用循环,将数组里的元素逐个写入单元格,为了对比不同的输 入方式的效率,我加入了计算时间的代码,有了前面的基础,相信读上面的代码 对大家来说,不会太困难。2、批量写入实际上用一条语句就可以将数的内容写入单元格区域中,即:单元格区域二 数组名还是上面的例子,我们可改为:代码:Sub test2 ()创建数组,并赋值D im ar r (1 To 60000), i As LongFor i = 1 To 60000arr (i)= iNext i将数组的值写入单元格(A列)a1:a65536. Clear 清除原有数据Dim start ime As DoubIestart
8、ime 二 Timera1:a60000=MsgBox 数组写入共用了 & Timer - startime & 秒!”End Sub这里,我们用“a1:a60000二代替了上面代码For循环,在我的电脑上, 程序的效率就提高了 25倍以上。逐数组写入单元格.rar KB)金数组写入单元格.rar KB)所以在大批量的数据需要写入时,我建议尽量不要用循环的方式写入。这种批量写入的方式在上面的例子里其实我已经用到了,相信大家不会陌 生。这里,我再补充两点我个人在学习过程中的心得:(1) 一维数组写入单元格区域时,这个单元格必须是水平方向的,也就是一个一行多列的单元格区域,如果想写入垂直区域,必须
9、使用工作表的 Transpose函数转换一下;(2)和工作表的多单元格数组公式一样,数组写入单元格时,单元格的区 域必须和数组的大小一致。金(回复)宝贝有酒窝的学生花名册汇总.rar KB)Mfor_nextT 到 1000 自然数的和.rar KB)多IF语句.rar KB)KB)需要强调一点的是,我们刚说的“事件”是一个重要的概念,八戒按门铃, 就是一个“事件”,这个“事件”引发了嫦娥的开门,只有门铃响了,嫦娥才会 去开门。除此而外“方法”“对象”“属性”都是接下来我们会经常接触到的,慢 慢走,留心点,一路上将会精彩不断。6、小结到这里,我们对宏应该有一个简单的了解了吧宏实际上就是一个简单
10、的VBA 的Sub过程,它保存在模块里,以Sub开头,以End Sub结尾,执行时就从第一 句逐句执行,直到End Sub结束。就像前面我们说的武术运动员练的那段套路动 作,总是抱拳,扎马,出拳然后踢腿,永远不可能没有扎马就出拳,没有出拳就 踢腿。我们今天录的这段宏也总是先设字体,再改字体颜色,这种顺序永远不会 乱。说完这些,你是不是感觉这些操作古板得没有生气是不是感觉这宏的操作不 能满足自己的需求? 叶枫想告诉你的是,宏代码绝不等于VBA,它只是VBA里最简单的运用, 尽管许多Excel过程都可以用录制宏来完成,但是通过宏代码还是无法完成许多 的工作,如:(1)不可以建立公式,函数;(2)没
11、有判断或循环的功能;(3)不能进行人机交互;(4)无法显示用户窗体;(5)无法与其他软件或文件进行互动。.所以,你看了上面的内容后千万不要以为宏就是VBA 了,更不要以为自己已经会VBA 了,事实上是你才刚沾上VBA的边,或者说连边都没沾上, 甚至连宏今天我们都只是作了简单的介绍。路漫漫其修远兮,还等着我们上下去求索,路在脚下,武林高手总是从练 习简单的套路动作开始,不要厌倦扎马的单调,静下心多练练,这会是你以后练 习武功招式的一个基础,孔子老人家说了,要温故而知新,记得复习巩固,不要 学了后面忘了前面,到下次叶枫再见到你的时候你什么都忘记了,好了,今天就 到这里,让我们一起加油 VBE 简介
12、二二二二二=什么是VBE?相信你还没忘记吧VBE就是VBA的编辑窗口,所有的VBA操作都在VBE里完成。VBE是一个分离出来的应用程序,它可以与Excel无缝结合,但是需要说明 的是要运行VBE必须先运行Excel, VBA模块与Exce I工作薄文件一起存储,除 非激活VBE,否则VBA模块是看不见的。1、运行Excel后,怎样切换换到VBE窗口?打开大门的钥匙有很多把,千万别猴急地去爬下水管道。(1)按ALT+F11快捷键;(2)选择“工具” “宏” 一 “Visual Basic编辑器”命令。港(Q)工具)数据也)窗口 1帮助国) 3 巧拼写检委9二F7 M攵I |她出85% 蚣C保护9
13、,一季景_,ABA单变量求解)八.q公式审核也) r f ; y . h i j宏 ) 定AH+F83口33353637 I42电查看代码包) 卜卜I She JrrrRi鸵丁KB)(3)右击工作表名称标签,点击查看代码。插入(1).删除也)重命名CR)移动或复制工作表).选定全部工作表)工作表标签颜色(!).KB)(4)单击控件工具箱里的“查看代码”。文件g 编辑 视图9 插入)格式地)工具矍)数据也)窗口世):宋体 查看代码I 12 b / U 室冬季用雪,8,KB)如果你的窗口里找不到控件工具箱,请通过“视图”一“工具栏”一 “控件工具箱”打开它。X 授X 授才 囤 311A/3F/ :
14、 溯为KB)(5)通过控件工具箱建立一个新的控件,双击控件。:1oiranandBut.A_6_78_9_1011121314曾 lsJllA 第导pZJia一二工 a 为o C ormnandBut t onl )双击它KB)2、初识VBE窗口这个界面相信你不陌生吧查看宏的时候我们已经见识过它了。a崛safi幽a国建酮球我政盛二手豌仃硼文件9 编辑 视图9 插入 格式)调试也)运行 工具复)外接 ;帮助国)-4J 登工程-VBAProject-二$ Microsoft Excel ,Bl Sheetl (Sheet 1工程资置IS器he. .nr属性-CommandButtonl2d(名称)
15、Common dButtcAAccelerator一:iAutoLoadFalseAutoSi zeFalse|BackColor如8000000BackStyle1 - fmBackSiC ap t i onCommandButtcEnabledTrueFont宋体;ForeColor ftH8000001Hei ght26.25Left213Locked属性囱r口Mouseicon n (None)c一 CoBBandButt CommandButto v |按字母序|按分类序|Sub mysub () my sub Macro宏由 ggsmart录制,时间:20092-27 With S
16、election. Font.Name =仿宋 _GB2312,Size = 12.Strikethrough = False.Superscript = False .Subscript = False .OutlineFont = False .Shadow = False.Underline = xlUnderlineStyleNone .Colorindex = xlAutomaticEnd WithSelection. Font. Col or Index = 3End Subl-gyl I立即窗口(A)窗口 )_曰X立即窗口工具栏代码窗口| * x LJ = -=-=三r | /o
17、泰 二EMBED (F orms. C oinmandBut t on. 1)KB)“工程资源管理器”显示一个树型图示,包含了当前在Excel中打 开的所有Excel对象,包含工作表,模块,窗体,加载宏及隐藏的工作薄,每个 工作薄被认为是一个工程。在工程资源管理器里右击,可以在右键菜单里选择相应的命令插入 模块或窗体。如果你想删除它或者保存它,同样也可以在这里进行相应的操作。j Sheet3 (Sheet3),Thi sWorkbook句8模块击国查看代码).。j JLGU UXU.Superscript = .Subscript = F .OutlineFont = .Shadow = Fa
18、is .Underline = x .ColorIndex =End WithSelection. Font. Colorln ind Sub屋性相屋性相I模块1,按字母VBAProject属性也).插入 导入文件(!). 导出文件也). 移除模块1国).打印9J用户窗体 球模块也) a类模块o可连接的QC) 除藏国)KB)“属性窗口 ”显示当前你选择的Excel对象的属性。选中某个对象后,可以在属性窗口中修改选中的对象的的各样属性.如颜色,名称等。Hj Sheetl (Sheetl)-S Sheet2 (Sheet2),电 Sheet3 (Sheet3)超Thi sWorkbook曰&苫|F
19、il UserForml白巴模块y模块i4 |川|JJZZ1JJZZ1属性-UserForml;UserForal UserFo: m 按字母序I按分类草IBackColorBorderColor BorderStyle Capti on CycleDrawBuffer0 - fmBorUserForml0 - fmCycEnabledFontForeColorHei ght00Ue宋体 6 180HelpContextIIOKe epScr ollB ar 3 一 nKB)“立即窗口”,这是一个非常有用的窗口,在其中可以直接执行VBA语句, 测试语句和调试代码,就跟我们在DOS下输入DOS命
20、令一样。如果你的立即窗口 不可见,按CRTL+G调出来,可以在里面尝试输入:a1二我在学习VBA”回车,看一看A1单元格里发生了什么变化KB)“代码窗口”是干嘛用的相信你已经很清楚了,当然是用来编辑VBA代码的地方,工程中的每一项都有一个与之相关联的代码窗口,如果要查看某对象的代码窗口,或者说如果要查看某对象上面究竟编写了什么VBA代码,在“工程资源管理器”窗口中双击对象即可。G1用)工程-VBAProject四碧口-魅VBAProject面数求助.xb)crQsoft Excel 对象对象窗口 d)Shit+F7对象浏览器)F2Ctrl+G坨曲6涮癖第ECt ioft 匏)立即窗口 a) 本
21、地窗口) 监视窗口也)Microsoft Excel Alt+Fll当然,你打开后的窗口不一定和上面一样,VBE的窗口也不只上面几个,我们可 以打开“视图”菜单,在里面进行选择需要显示的窗口。编辑熠)M2”t3isWorkboo *rFortril工程资源省理器)CtrHR 屋性窗口世)工具栏建)对象、属性、方法,事件这是很重要的几个概念,是写VBA程序的基础,大家仔细读,一定要 弄清楚。1、对象及对象层次结构对象就是存在的东西,是VBA处理的内容,包括工作薄、工作表、工作表上的单元格区域、图表等等。对象可以相互包含,就像一个文件夹里可以 包含多个文件夹一羊,而这个文件夹又可以被其他的文件夹包
22、含,一个工作薄对13、程序流程控制:ForEach语句14、程序流程控制:D。While语句15、程序流程控制:Do Unti I语句16、程序流程控制:Go to语句17、用户窗体18、再说Excel的对象模型19、小试牛刀制作一个个性化的欢迎界面20、处理单元格数据(复制、剪切、删除21、 Range对象的End属性(带作业)22、花名册分类(实例)23、花名册汇总(实例)24、新建工作表25、认识数组(一)26、Worksheet 的 Change 事件(带作业)27、关于属性(有实例动画)补充说明28、关于Worksheet的SeIect ionChange事件(有实例动画)29、Wo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- excel VBA 基础 入门
限制150内