本帖最后由 hustnzj 于 2012-5-10 21:12 编辑
2012-5-10
一、 【如何看懂属性窗口中的属性所代表的含义】
昨天有同学问看不懂属性窗口中的英文,其实这个问题就是昨天帖子中讲的属性的问题。既然有同学提出来了,那么就我们就来看看如何利用最快捷的方法来查找属性的含义吧。 比如:我们来看Sheet工作表模块的属性窗口: 这里面一共有12个属性。我们首先要知道,属性窗口中的属性并不是工作表对象的所有属性,这里只是很少的一部分属性。那么,放在这里的意思是指:允许用户在程序设计阶段(就是没有运行代码的时候)手动更改这些属性(怎么更改?这个自己去尝试下吧,呵呵)。 而我们只要选中任意一个属性,按F1键,就可以弹出相应的帮助文件。
而这些属性并不是工作表对象的全部属性,F2调出对象浏览器: 在搜索栏输入我们要查找的对象名称。
在这个窗口中,选中任意一个属性,F1就可以弹出相关的帮助信息。是不是非常方便呀?呵呵。 也就是说,一个对象没有在其属性窗口中出现的属性,我们需要在代码中去设置其属性值(前提是该属性可以被设置,就是可读写),这样在代码运行时,该属性值才会被设置了。 同样,我们可以来看看工作簿对象的属性窗口:
窗体对象的属性窗口:
二、 【工作表的引用】 大家看了第2课视频,想必对于录制宏已经完全驾轻就熟了吧。那么我们录制出来的代码中,最多的就是Sheets, Range之类的代码了。而这两类对象在Excel中的重要性不言而喻,因此,这两类对象是我们讲解的重点。 前面我们已经知道Sheets包含了Worksheets,Worksheet才是我们要着重讲的工作表对象。 Worksheet是Workbook(工作簿)的下一级对象,在立即窗口我们运行下这个代码:
可以看到运行的结果是Book1.xls (xls就是工作簿的文件后缀名)。Sheets(1)表示Index顺序中的第一个工作表。其parent(父)对象.(的)name(名字)就是工作簿了。 这里其实有一个很重要的技巧,那就是如何在立即窗口来迅速获得属性的值,或者执行对象的方法,这个大家先观察下,明天再讲,呵呵。 引用工作表的几种方法及适用场合:(注意:为了方便,以下代码都假设是在当前活动工作簿中,所以前面的工作簿对象可以省略) 1. 通过索引号Index来引用。Worksheets(Index) 如Worksheets(3),表示的就是Worksheets集合中的第三个工作表,这个顺序是从左往右数的。
【适用场合】:不知道具体的工作表名。 【拓展】: 第一个工作表:Worksheets(1) 最后一个工作表:Worksheets(Worksheets.Count) 第i个工作表:Worksheets(i) 2. 通过名称来引用。Worksheets(Name)或Sheet1 如Worksheets(“福彩3D”),表示的就是引用工作表标签名为“福彩3D”的工作表。需要特别注意的是:Name属性是很容易就被修改的,因此在代码引用某些表的时候,建议不要使用Worksheets(Name)这种形式,除非能确保Name不会被他人随意修改。 【适用场合】:知道具体的表名,且能确保Name不会被随意改动;同时,由于Name属性可以是一个变量,因此这样用也可以增加自己代码的灵活性。 如果不能确保Name不会被改动,最保险的方法是使用Codename(Sheet1这种格式):
CodeName只有在VBE中手动更改才可以,在程序运行时是无法改动的。同时放在VBE中,也可以在一定程度上保证了不被修改。 【拓展】: 同时引用多个工作表:Sheets(Array("综合数据", "福彩3D", "双色球", "七乐彩", "排列三", "排列五", "超级大乐透", "七星彩", "体彩22选5")),这样引用就可以同时对多个工作表进行一些一致的操作,如delete,select了。 3. 通过当前活动工作表来引用:Activesheet 【适用场合】:在确保所有的操作都在当前工作表中来进行时。 4. 通过新建的工作表对象来引用。 With Worksheets.Add .Name = "11118" .Tab.Color = vbYellow End With 这段代码就是对新建的工作表引用。 注意:Worksheets.Add返回的是一个工作表对象,所以可以这样用With语句。当然也可以这样Set sh=Worksheets.Add,然后再: With sh .Name = "11118" .Tab.Color = vbYellow End With 【适用场合】:在新建工作表时
【下集预告】: 1. 立即窗口的用处; 2. ……
|