Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6625|回复: 13

[分享] VBA入门之二《一夜暴富》

[复制链接]
发表于 2006-12-11 00:08 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2011-7-5 22:46 编辑

转自 山菊花老师的作品 :http://club.excelhome.net/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的标签”这意思。我们熟悉的小数点在这里是一个连接符,起承上启下的作用。

有没有想过?许多事情现在跃跃欲试,但就是不知道该用什么代码,这该死的代码。


别急,今晚,我们就来解决这一问题。

宏是什么东西?
Excel工具菜单下有个“宏”,这宏是什么东西?宏是一段代码。我们点击一个按钮运行一段代码,这一段代码就是一个宏。
菜单:工具-宏中有个“录制新宏”,这又是什么意思?
录制新宏就是把我们对Excel的键盘和鼠标操作记录为代码。
没有发愣吧?这东西好哩!

UmGrk3TR.rar

453.2 KB, 下载次数: 41

如何插入带背景的批注:第一次制作动画,请指教

ixrjLzEE.rar

213.59 KB, 下载次数: 31

如何插入带背景的批注:第一次制作动画,请指教

Q8Wh3VFC.rar

254.37 KB, 下载次数: 68

如何插入带背景的批注:第一次制作动画,请指教

8lEDv5ev.rar

342.94 KB, 下载次数: 58

如何插入带背景的批注:第一次制作动画,请指教

 楼主| 发表于 2006-12-11 00:10 | 显示全部楼层

VBA入门之二《一夜暴富》2

我们就来试一试这“录制新宏”。

做点什么?把当前工作表隐藏了,看录制的宏是什么东西。

说做就做:

点击工具-宏-录制新宏:

(预留图片)


这时,会显示工具“停止录制”,有两个按钮,一个是停止录制,点击它即停止录制宏。另一个是“相对引用”,如果对单元格进行操作,选择或取消“相对引用”,录制出的代码是不一样的,你可另找时间研究它。


(预留图片)

操作:格式-工作表-隐藏。


图片点击可在新窗口打开查看此主题相关图片如下:

(预留图片)

点击“停止录制”按钮,也可以执行菜单命令“工具-宏-停止录制”。



[此贴子已经被作者于2006-12-11 0:14:04编辑过]
回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:14 | 显示全部楼层

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。


[此贴子已经被作者于2006-12-11 0:16:43编辑过]
回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:17 | 显示全部楼层
本帖最后由 爱疯 于 2011-6-24 20:40 编辑

VBA入门之二《一夜暴富》4

 

看出点名堂来没有?

如果不用“ActiveWindow.SelectedSheets”这种方式来指定工作表,还能怎样?回想一下,Sheets(工作表名),还记得吗?我们能用代码隐藏指定的工作表(如sheet2)吗?能:

 

Sheets("Sheet2").Visible = False


当Visible = False时,表示隐藏,不可见,怎样表示可见呢?取值等于False相反的逻辑值是True

 

回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:19 | 显示全部楼层
本帖最后由 爱疯 于 2011-6-24 20:44 编辑

VBA入门之二《一夜暴富》5

 

练习还顺畅吗?

工作表具有Visible属性,改变它的值,即是隐藏或显示指定的工作表。

其它对象是否有这属性?打开下面的附件看看:

20061211021393293.rar (621.83 KB, 下载次数: 30)

回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:22 | 显示全部楼层
本帖最后由 爱疯 于 2011-6-24 20:49 编辑

你一定已经知道,录制的宏可以直接运行。运行宏的办法有多种:

打开“工具-宏-宏”窗口,选择要运行的宏,点击按钮“运行”。

showimg.jpg4.jpg

 

如果选择这种方式运行,在建立宏的时候,为宏取一个通俗易懂的名字很重要。

在VBE窗口中,将光标定位到要运行的宏过程中,按F8单步运行(用于测试),按F5运行。

用窗口控件。如果“窗口”工具栏没有显示,可如下图所示打开它:

showimg5.jpg

 

“窗口”控件与“控件工具箱”控件酷似,但再相似总是两种不同的东西。

在工具栏中点击按钮,在工作表上拖出图形,松开鼠标,它会弹出一个“指定宏”窗口:

 

showimg6.jpg

 

选择你要运行的宏,确定。

然后,你可以修改按钮标签。

用鼠标点击一下单元格,退出按钮的被选取状态。

将鼠标移到按钮上,显示的是一个手形,不是箭头。点击它,运行宏。

在工作表上插入一图片或插入一个自选图形,右键菜单也有一个“指定宏”项目,点击它,也可以选定宏。退出后,点击该图片,也可运行一段宏: 

 

showimg7.jpg

200612110274088826.rar (31.79 KB, 下载次数: 7)

回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:28 | 显示全部楼层

录制宏注意事项。

录制宏主要有两个目的。一是为了运用,如,当前工作表从第1行开始,每7行删除1行,我们可以录制一段宏,操作步骤是:

①将光标定位到要删除的第一行;

②开始录制(设置快捷键Ctrl+X、选择“相对引用”),完成两个动作:

⑴删除整行;

⑵光标下移6行到要删除的第2行,即第原来的第8行(最好用鼠标,可与键盘操作比较一下代码);

③停止录制。

图片点击可在新窗口打开查看点击浏览该文件

利用这个实例,可对比领会一下“相对引用”的作用。

第二个目的,就是获取代码,我们不知道对象的属性、方法,通过录制宏来获取,再用到自己的代码中。

无论哪个目的,都要注意,不要进行不必要的操作,代码太多,不利于修改。如果获取代码为目的,录制过程更要简洁些,一次录制的动作越少越好,分析的时候才不容易出差错。

这一讲到这结束。

回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:29 | 显示全部楼层
本帖最后由 爱疯 于 2011-6-24 20:51 编辑

录制宏注意事项。

录制宏主要有两个目的。一是为了运用,如,当前工作表从第1行开始,每7行删除1行,我们可以录制一段宏,操作步骤是:

①将光标定位到要删除的第一行;

②开始录制(设置快捷键Ctrl+X、选择“相对引用”),完成两个动作:

⑴删除整行;

⑵光标下移6行到要删除的第2行,即第原来的第8行(最好用鼠标,可与键盘操作比较一下代码);

③停止录制。

200612110291528518.rar (7.13 KB, 下载次数: 5)

回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:29 | 显示全部楼层

QUOTE:
以下是引用xiaoxun在2006-8-14 13:03:38的发言:

学生愚笨,请老师指点:录制后结果不同,错在哪?

第一步,定位第一行,不是选择第一行,用鼠标点击第一行的某一单元格,如A1。

开始录制后,第一步是选择第一行(你原来录制前的操作)。


[此贴子已经被作者于2006-12-11 0:30:43编辑过]
回复

使用道具 举报

 楼主| 发表于 2006-12-11 00:31 | 显示全部楼层
本帖最后由 爱疯 于 2011-6-24 20:51 编辑

QUOTE:
以下是引用mannewer123在2006-8-15 16:18:53的发言:

VBA入门之二《一夜暴富》7中提到:利用这个实例,可对比领会一下“相对引用”的作用

可是我用了两种方法做了以后,怎么感觉是一样的啊,能不能请山老师具体解释下两个的区别,谢谢~

不能凭感觉,要用事实说话。

两种模式下录制宏,再分别运行它(多运行几次),看工作表变化。

200612110321341101.rar (8.06 KB, 下载次数: 7)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-1 02:41 , Processed in 0.400492 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表