分享

菜鸟谈VBA最最基础入门(二)

 li7486 2014-10-22

VBE简介=========
  什么是VBE?
  相信你还没忘记吧?VBE就是VBA的编辑窗口,所有的VBA操作都在VBE里完成。
  VBE是一个分离出来的应用程序,它可以与Excel无缝结合,但是需要说明的是要运行VBE必须先运行Excel,VBA模块与Excel工作薄文件一起存储,除非激活VBE,否则VBA模块是看不见的。
  1、运行Excel后,怎样切换换到VBE窗口?
  打开大门的钥匙有很多把,千万别猴急地去爬下水管道。
   (1)按ALT+F11快捷键;
   (2)选择“工具”—>“宏” —>“Visual Basic编辑器”命令。

(3)右击工作表名称标签,点击查看代码。

(4)单击控件工具箱里的“查看代码”。(07及以上版本 在开发工具选项卡下)

如果你的窗口里找不到控件工具箱,请通过“视图”—>“工具栏” —>“控件工具箱”打开它。

(5)通过控件工具箱建立一个新的控件,双击控件。

  2、初识VBE窗口
   这个界面相信你不陌生吧?查看宏的时候我们已经见识过它了。

“工程资源管理器”显示一个树型图示,包含了当前在Excel中打开的所有Excel对象,包含工作表,模块,窗体,加载宏及隐藏的工作薄,每个工作薄被认为是一个工程。
在工程资源管理器里右击,可以在右键菜单里选择相应的命令插入模块或窗体。如果你想删除它或者保存它,同样也可以在这里进行相应的操作。

“属性窗口”显示当前你选择的Excel对象的属性。选中某个对象后,可以在属性窗口中修改选中的对象的的各样属性.如颜色,名称等。

“立即窗口”,这是一个非常有用的窗口,在其中可以直接执行VBA语句,测试语句和调试代码,就跟我们在DOS下输入DOS命令一样。如果你的立即窗口不可见,按 CRTL+G调出来,可以在里面尝试输入:
[a1]=”我在学习VBA”
回车,看一看A1单元格里发生了什么变化?

“代码窗口”是干嘛用的?相信你已经很清楚了,当然是用来编辑VBA代码的地方,工程中的每一项都有一个与之相关联的代码窗口,
如果要查看某对象的代码窗口,或者说如果要查看某对象上面究竟编写了什么VBA代码,在“工程资源管理器”窗口中双击对象即可。

当然,你打开后的窗口不一定和上面一样,VBE的窗口也不只上面几个,我们可以打开“视图”菜单,在里面进行选择需要显示的窗口。

对象、属性、方法,事件
==============
这是很重要的几个概念,是写VBA程序的基础,大家仔细读,一定要弄清楚。
1、对象及对象层次结构
对象就是存在的东西,是VBA处理的内容,包括工作薄、工作表、工作表上的单元格区域、图表等等。对象可以相互包含,就像一个文件夹里可以包含多个文件夹一样,而这个文件夹又可以被其他的文件夹包含,一个工作薄对象可以包含多个多个工作表对象,一个工作表对象又可以包含多个单元格(或图表,图形等),这种对象的排列模式称为Excel的对象模型。
----------
集合这个概念经常遇到,我理解的集合是对相同类型的对象的统称。
某中学有5000个学生,名字各不相同,我们对他都统称为某中学的学生,而不和一一去叫他们的名字,'某中学的学生'在这里是集合。

对象的引用,在Excel里,Workbooks集合包含在Application对象里,当我们要引用某工作薄的时候,要遵循从大到小的规则。跟表示硬盘里的某个文件的位置一样,比如我们想引用D盘“我的文档”文件夹下的名为“我的VBA课程.doc”文件时要输入的是:
D:\我的文档\我的VBA课程.doc
同样,如果我们要引用名称为“mybook.xls”的工作薄时就是:
Application.Workbooks(“mybook.xls”)
和引用文件不同的是,VBA里使用的分隔符是点。
同理,当我们引用“mybook.xls”里面的工作表“mysheet”时应是:
Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”)

可以继续延伸到下一层,引用“mybook.xls”里工作表“mysheet”里面的单元格区域“A1:D10”:
Application.Workbooks(“mybook.xls”).Worksheets(“mysheet”).Range(“A1:D10”)

但是并不是每一次引用都必须这么呆板,就像猪八戒不用每一次都去爬下水管道。如果我们引用的是活动对象,也就是被激活的对象,引用就可以进行简化。
如果是mybook工作薄是激活的,引用可以简化为
Worksheets(“mysheet”).Range(“A1:D10”)

如果mysheet当前也是激活的,引用甚至还可以简化为Range(“A1:D10”) ,也可以直接输入[A1:D10] ,如果引用的单元Range是单个的单元格,还可以用Cells(行号,列号)的引用方式。
-----------------------
  2、属性
每一个对象都有属性,一个属性就是对一个对象的一个设置。
猪八戒背着媳妇高秀兰回自己的紫云洞,猪八戒的媳妇就是对象,“高秀兰”就是猪八戒的媳妇的一个属性(name属性),引用对象的属性同样也要用点来分隔。
猪八戒的媳妇.name=高秀兰

别闲着,还是动动你的右手,打开一个工作表,Alt+F11(千万别说你不知道这个快捷键是干什么,要不我保证被你气个半死),如果立即窗口没有打开,按Ctrl+G打开,在里面输入:

  1. Msgbox Worksheets(1).name

回车。

Worksheets(1)和Worksheets(“sheet1”)有什么区别?
Worksheets(1)表示Worksheets集合里的第一个工作表。
Worksheets(“sheet1”)表示Worksheets集合里名为'sheet1'的工作表。

至于Msgbox是什么,那就自己问Help了,在立即窗口里用鼠标左键把Msgbox抹黑,按F1,就弹出Help里对它的说明了。
抹黑代码,再按F1即可看到相应的帮助。叶枫说:“这个办法很适用,一般人我不告诉他。”

一个对象有哪些属性我们可以在属性窗口里查看,要修改一个对象的某种属性,如名称、显示状态、颜色等等,也可以在属性窗口里进行修改,当然我们还可以利用代码进行修改。改当前工作薄里的第三个工作表的名称为“这个名字是我用VBA改的”,想想怎么写代码?
把你的代码输在立即窗口里,回车,看看效果,你做到了吗?
--------------------------
  3、方法
每一个对象都有方法,方法就是在对象上执行的某个动作。
和属性相比,属性表示的是对象某种状态或样子,是静态的,就像是语文里的名词、形容词和副词,而方法则是做某件事的一个动作,就像动词,对象和方法同样用点来分隔。
例如Range对象有有一个方法是Select,他的作用是选中指定的Range(单元格区域)对象,在立即窗口里输入代码:
回车,可以看到D1:F10已经被选中了。

-----------------------
  4、事件
在上一面猪八戒按门铃那里,我们已经接触过什么是事件了。
简单点说,事件就是由用户或者系统触发的,可以在代码中响应的一段代码。比如,当我们移动鼠标,打开工作薄,激活工作表,选中单元格,改变单元格的数值,点击按钮或窗体,敲击键盘等等这些都会产生一系列的事件,通过编写代码响应这些事件,当发生此类事件时,程序代码就会进行相应的操作。
这样解释你会不会有些晕?感觉又一次进入了外星人的世界?还是举例说明,我们需要当激活某工作表的时候,自动弹出一个对话框,告诉我们激活的工作表的名称。
(1)打开一个工作表,Alt+F11打开VBE窗口,在“工程对象管理器”窗口里双击你要进行设置的工作表,使其代码窗口显示。
(2)左面选择对象Worksheet(工作表对象),右面选择Activate事件,我们可以看到在代码窗口里系统已经为我们自动输入了一段代码。

  1. Private Sub Worksheet_Activate()


  2. End Sub


提醒: 初学的我们,不必完全记住对象及事件的名称,也不必手工输入,系统早为你准备好了,你可以在代码窗口里进行选择,左边是对象,右面是事件,如果你想知道某个对象(例如工作薄、工作表、窗体等)有哪些事件,只需要双击这个对象,然后在代码窗口里查看即可。我们需要做的只是:当自己需要它的时候,知道打开哪个箱子把它拿出来即可.
废话说完,再回到问题里:
  要达到问题的目的,我们只需要在已给我们列出的两段代码中间加入需要进行操作的代码就可以了,这里我们需要的是一个对话框来提醒,对了,还记得Msgbox吧?
 输入代码:
  1. MsgBox '你现在激活的工作表名称是:' & ActiveSheet.Name

上面的代码相信你应该能看懂吧?
&和我们工作表里的函数是一样的,连接文本的作用,Activesheet.name是当前活动工作表的名字(用了一个name属性)。
回到工作表,激活你刚才设置代码的工作表,如果你刚才设置的工作表是激活状态,请选择其他工作表,然后再重新激活它,看看你看到了什么?

看一下上面的代码,对象和事件之间用什么来分隔?还是不是点?
千万别懒,一定要动手,换其他的事件或其他的对象试一试,试着用代码改一下其他对象的属性,在单元格里添加点什么东西,这些随你了,你可千万别说你不知道哪些事件是干嘛用的。
别忘记,抹黑代码,按F1,再重复一遍,这是一件好武器,一般人我不告诉他.

本文为畅销图书《Excel VBA其实很简单》作者ggsmart原发EH论坛的技术文章。


★★★★★★精彩推荐★★★★★★

回复1 阅读《LOOKUP函数用法》

回复2 阅读《Excel常用技巧》

回复3 阅读《一句话技巧汇》

回复4 阅读《相对引用和绝对引用》

回复5 阅读《日期计算专题》

回复6 阅读《电脑常用快捷键》

回复7 阅读《折线图技巧专题》

回复8 阅读《一起认识数组公式》

回复9 阅读《一起认识数据有效性》

回复10 阅读《WORD实用技巧》

回复11 阅读《WORD常用快捷键》

回复12 阅读《COUNTIF函数专题》

回复13 阅读《学习自定义格式》

回复14 阅读《高级筛选专题》

回复15 阅读《深入学习选择性粘贴》

回复16 阅读《工资条制作》

回复17 阅读《VLOOKUP函数教程》

回复18 阅读《说说身份证的那些事儿》

回复19 阅读《制作二级下拉菜单》

回复20 阅读《提取不重复值》

回复21 阅读《搞笑的Excel等级划分》

回复22 阅读《数据转置技巧》

回复23 阅读《数据透视表专题》

回复24 阅读《使用数据透视表多角度汇总数据》

回复25 阅读《工作表保护》

回复26 阅读《一起学习组合柱形图》

回复27 阅读《考勤表制作与免费考勤工具包》

回复28 阅读《学习自定义视图》

回复29 阅读《VBA基础入门》

回复30 阅读《计算文本算式和EVALUATE函数》

回复31 阅读《制作瀑布图》

回复32 阅读《Excelhome原创图书简介》

回复33 阅读《SUMIF函数专题》

回复34 阅读《条件格式设置技巧》

回复35 阅读《表格美化与设置》

回复36 阅读《单元格内容提取》

回复37 阅读《制作凸显极值的图表》

回复38 阅读《详解窗口冻结》

回复39 阅读《填充技巧》

回复40 阅读《多条件求和》

回复00 获取最新推荐文章列表

您也可以回复任意技巧的关键字,获取更多精彩教程。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多