王审知后裔族谱字辈:Excel VBA入门之二《一夜暴富》

来源:百度文库 编辑:中财网 时间:2024/04/29 16:50:39

VBA入门之二《一夜暴富》

转自 山菊花老师的作品 :http://club.excelhome.net/dispbbs.asp?BoardID=2&ID=182365&replyID=&skin=0
经过作者:山菊花
发表于:2006-8-11 1:58:19
最后发贴:无私奉献令人敬..." href="http://club.excelhome.net/viewthread.php?tid=182057&replyID=&skin=0" target="_blank" href_cetemp="http://club.excelhome.net/viewthread.php?tid=182057&replyID=&skin=0">VBA入门之一《与代码亲密接触》的学习,我们的收获应该是不小的,是吧?
1、能在工作表中使用按钮,能在VBE中创建代码,并运行它。
2、认识了一些对象:按钮、工作表、单元格都是一个对象,初步建立了“对象”这个概念。
3、掌握了单元格对象的一些属性,如:Value、Address。
4、知道单元格有Range()、Cells()、[]等几种表示方法。
5、接触了按钮的一些属性,如:Left、Caption、Width、Height等等。
6、最值得高兴的是,你能读懂“CommandButton1.Caption”,看似长长的代码,其实就是“按钮1的标签”这意思。我们熟悉的小数点在这里是一个连接符,起承上启下的作用。

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


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

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


[此贴子已经被作者于2008-3-2 22:26:39编辑过]

附件

ZHjcItOR.rar

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


可以用我们已经熟悉的方式,把代码写在按钮的Click()过程中,点击按钮运行它。

[attach]169461[/attach]
小结:本来我们不知道有Visible这么一个属性,因为需要,我们可以通过录制宏的办法记录对Excel的操作,再对宏代码进行分析,找到我们需要的代码并加以运用。掌握了录制宏这一技巧,是不是受用无穷呢?

练习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。

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


附件
2u96z98j.gif (109.55 KB)

2006-8-14 15:34

VBA入门之二《一夜暴富》问题解答

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

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

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

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

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

 

  ZUXuEb4B.rar (7.46 KB