VBA入门之二《一夜暴富》转自 山菊花老师的作品 :http://club./dispbbs.asp?BoardID=2&ID=182365&replyID=&skin=0
经过VBA入门之一《与代码亲密接触》的学习,我们的收获应该是不小的,是吧? 1、能在工作表中使用按钮,能在VBE中创建代码,并运行它。 2、认识了一些对象:按钮、工作表、单元格都是一个对象,初步建立了“对象”这个概念。 3、掌握了单元格对象的一些属性,如:Value、Address。 4、知道单元格有Range()、Cells()、[]等几种表示方法。 5、接触了按钮的一些属性,如:Left、Caption、Width、Height等等。 6、最值得高兴的是,你能读懂“CommandButton1.Caption”,看似长长的代码,其实就是“按钮1的标签”这意思。我们熟悉的小数点在这里是一个连接符,起承上启下的作用。 有没有想过?许多事情现在跃跃欲试,但就是不知道该用什么代码,这该死的代码。
宏是什么东西? [此贴子已经被作者于2008-3-2 22:26:39编辑过] 附件VBA入门之二《一夜暴富》2我们就来试一试这“录制新宏”。 做点什么?把当前工作表隐藏了,看录制的宏是什么东西。 说做就做: ①点击工具-宏-录制新宏: 这时,会显示工具“停止录制”,有两个按钮,一个是停止录制,点击它即停止录制宏。另一个是“相对引用”,如果对单元格进行操作,选择或取消“相对引用”,录制出的代码是不一样的,你可另找时间研究它。 ②操作:格式-工作表-隐藏。 ③点击“停止录制”按钮,也可以执行菜单命令“工具-宏-停止录制”。
VBA入门之二《一夜暴富》3“录制新宏”的工作结束了,按Alt+F11打开VBE窗口: 系统自动增加一个模块“模块1”,刚才录制的宏就在这模块1下,如果看不到代码,双击“模块1”就是。 Sub Macro1()和End Sub是宏的开始行和结束行。Macro1是宏的名称。 绿色字体部分是注释,如果不喜欢,可以删掉它。 余下的只有一行:ActiveWindow.SelectedSheets.Visible = False 这时,我们该怎么做? 按F1,查帮助。用查户口的方式弄清每一个词的意义。 ActiveWindow:当前窗口。 SelectedSheets:选定的工作表。 Visible:决定对象是否可见。 我们操作的对象是ActiveWindow.SelectedSheets,即当前窗口中的选定的工作表。 让工作表隐藏,即是Visible = False。
VBA入门之二《一夜暴富》4看出点名堂来没有? 如果不用“ActiveWindow.SelectedSheets”这种方式来指定工作表,还能怎样?回想一下,Sheets(工作表名),还记得吗?我们能用代码隐藏指定的工作表(如sheet2)吗?能: QUOTE:
Sheets("Sheet2").Visible = False 当Visible = False时,表示隐藏,不可见,怎样表示可见呢?取值等于False相反的逻辑值是True: QUOTE:
Sheets("Sheet2").Visible = True
[attach]169461[/attach] 练习1:编写代码,把工作表sheet3更名为“我的工作表”。 练习2:编写代码,取消当前窗口中的滚动条(提示:菜单:工具-选项-视图)。 VBA入门之二《一夜暴富》5练习还顺畅吗? 工作表具有Visible属性,改变它的值,即是隐藏或显示指定的工作表。 其它对象是否有这属性?打开下面的附件看看: [attach]169535[/attach]
VBA入门之二《一夜暴富》6你一定已经知道,录制的宏可以直接运行。运行宏的办法有多种: ①打开“工具-宏-宏”窗口,选择要运行的宏,点击按钮“运行”。 [attach]169520[/attach]
VBA入门之二《一夜暴富》7录制宏注意事项。 录制宏主要有两个目的。一是为了运用,如,当前工作表从第1行开始,每7行删除1行,我们可以录制一段宏,操作步骤是: ①将光标定位到要删除的第一行; ②开始录制(设置快捷键Ctrl+X、选择“相对引用”),完成两个动作: ⑴删除整行; ⑵光标下移6行到要删除的第2行,即第原来的第8行(最好用鼠标,可与键盘操作比较一下代码); ③停止录制。 [attach]169529[/attach] 利用这个实例,可对比领会一下“相对引用”的作用。 第二个目的,就是获取代码,我们不知道对象的属性、方法,通过录制宏来获取,再用到自己的代码中。 无论哪个目的,都要注意,不要进行不必要的操作,代码太多,不利于修改。如果获取代码为目的,录制过程更要简洁些,一次录制的动作越少越好,分析的时候才不容易出差错。 这一讲到这结束。
VBA入门之二《一夜暴富》问题解答QUOTE:
以下是引用xiaoxun在2006-8-14 13:03:38的发言:
学生愚笨,请老师指点:录制后结果不同,错在哪? 第一步,定位第一行,不是选择第一行,用鼠标点击第一行的某一单元格,如A1。 开始录制后,第一步是选择第一行(你原来录制前的操作)。 附件
2006-8-14 15:34 VBA入门之二《一夜暴富》问题解答QUOTE:
以下是引用mannewer123在2006-8-15 16:18:53的发言:
在VBA入门之二《一夜暴富》7中提到:利用这个实例,可对比领会一下“相对引用”的作用 可是我用了两种方法做了以后,怎么感觉是一样的啊,能不能请山老师具体解释下两个的区别,谢谢~ 不能凭感觉,要用事实说话。 两种模式下录制宏,再分别运行它(多运行几次),看工作表变化。
ZUXuEb4B.rar (7.46 KB |
|
来自: 9 1 1 > 《Excel VBA》