


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Activate方法与Select方法的区别当需要激活或者是选择某个工作表时,使用Sheets(1).Activate和Sheets(1).Select的作用表面上看起来是相同的。但是,如果将需要激活或者是选择的工作表隐藏后,使用Sheets(1).Select将会出现错误,而使用Sheets(1).Activate则会正常运行。如下代码:- - - 下面的代码运行正常 - - - -Sub test1()Sheets(1).Visible = xlHidden Sheets(1).ActivateEnd Sub- - - 下面的代码运行错误,作用于对象的方法无效 - - - -Sub test2()Sheets(1).Visible = xlHiddenSheets(1).SelectEnd SubActivate方法是用来激活对象的方法,而Select方法是用来选取对象的方法,能使用Select方法一次选取多个工作表,但不能使用Activate方法一次激活多个工作表,一次只能激活一个工作表。见下面的代码示例:- - - 下面的代码运行正常 - - - -Sub Test3() ActiveWorkbook.Sheets(Array(1, 2, 3).SelectEnd Sub- - - 下面的代码运行错误,对象不支持该属性和方法 - - - -Sub Test4() ActiveWorkbook.Sheets(Array(1, 2, 3).ActivateEnd Sub当然,上述内容同样适用于Worksheets集合。作表名称的使用可以在代码中采用下面的三种方式引用工作表:(1) 该工作表在工作簿中的位置(索引号)。索引号自工作表标签最左边向右依次计数,最左边的是第1个工作表,依次为第2个、3个等等。(2) 该工作表的名称,即在工作表左下角中看到的工作表标签中的名称。(3) 该工作表的对象名称,即在创建工作表时自动分配给该工作表的名称(在VBE编辑器中的工程窗口中可以看到)。通常,在代码中引用工作表时,我们所使用的是工作表对象的Index属性和Name属性,例如Worksheets(1).Select或者Worksheets(“Sheet1”).Select。但是,如果工作表的名称被改变或者工作表被重新排序或者删除其中的一些工作表后,则不能使用工作表对象的Name属性或Index属性引用所需要的工作表,这可能使已经编写好的代码出现错误。因此,我们应该考虑虽然工作簿中的工作表改变但不影响工作表引用的办法,可以使用工作表对象的名称避免这种情况,即上面所讲的第3种方式,无论是在工作簿中增加或删除其它工作表,还是对工作表排序,或者是重命名需要引用的该工作表,其对象名都不变(除非您删除该工作表,或者是在VBE窗口中重命名该对象)。工作表对象的名称可以在VBE编程器中看到,如下图2所示。例如,Sheet1(Sheet1),左边是工作表对象的名称,右边的括号中是工作表名,括号中的工作表名可以通过在工作簿界面中改变相应的工作表标签名来改变,如果在工作表中重命名Sheet1工作表为“数据工作表”,则工程属性窗口中的名称为:Sheet1(数据工作表)。在下图2中,工作表Sheet3的对象名称是“主工作表”,而在Excel中,如果改变工作表Sheet3的名称为“数据工作表”,在VBE编程器的工程窗口中,“Sheet3”将变成“数据工作表”,但是该工作表的对象名称仍为“主工作表”,如下图3所示。图2图3改变工作表对象名称的方法是,通过改变属性窗口中的(名称)或者在代码中使用Properties(_CodeName)。下面的代码将会添加一个工作表并将该工作表的对象名称命名为ws_main,这样,在以后的代码中就可以使用该对象名称来引用这个工作表,而不必担心工作表名称改变或工作表顺序改变。Sub ChageWksObjectName() Dim ws As Worksheet Dim sPrevCodeName As String Dim sNewCodeName As String设置新对象的名称 sNewCodeName = ws_main 增加新工作表 Set ws = Worksheets.Add获取新增工作表的对象名称 sPrevCodeName = ws.CodeName 变化新增工作表的对象名称 ThisWorkbook.VBProject.VBComponents(sPrevCodeName). _ Properties(_CodeName) = sNewCodeNameEnd Sub- - - - - - - - - - - - - - - - - - - - - -Sub Test() ws_main.Range(A1).Value = This is it!End Sub下面的示例简单的介绍了工作表的引用方法。在示例中,使用了工作表Sheet1。(1) 指定工作表的位置激活工作表。下面的代码激活工作簿中的第1个工作表,即工作表标签最左边的工作表。(如果增加或删除了其中某工作表,或者是对工作表进行排序后,可能引用的不是您想引用的工作表)Sub ActivateFirstsheetInBook()Sheets(1).ActivateEnd Sub或者:Sub ReferenceShtByIndexNumber()Sheets(1).A1:D4.Copy Sheets(2).A1End Sub(2) 通过工作表的名称激活工作表,而不管工作表处于工作簿中的什么位置以及工作表对象的代码名称。(如果该工作表被重命名后,运行代码会出错)Sub ActivateSheet1_1()Sheets(Sheet1).ActivateEnd Sub或者:Sub ReferenceShtByGivenName()Sheet1!A1:D4.Copy Sheet2!A1End Sub(3) 通过工作表对象的名称激活工作表,而不管该工作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年奢华酒店床上用品清洗与员工技能培训综合服务合同
- 2025年地下停车场防潮防水与通风系统安装工程合同
- 2025年金融资产保证反担保合作协议书
- 2025年生态农业种植基地劳动力租赁合同范本
- 2025年度绿色餐饮连锁品牌节能环保设备供应合同
- 2025年商业银行资产证券化项目资金托管及风险控制合作协议
- 高温食品安全配送及品质控制合作协议
- 2025年特种货物运输合同中珍贵物品安全及损害赔偿标准规范
- 2025年生态保护区大件设备搬运环保监管服务合同
- 2026届河北省衡水市桃城区武邑中学化学高三第一学期期末监测模拟试题
- 2025广西公需科目考试题库和答案(覆盖99%考题)广西一区两地一园一通道+人工智能时代的机遇
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 酒店股东消费管理办法
- GB/T 242-2007金属管扩口试验方法
- 政治理论水平任职资格考试题库
- 路基压实度汇总表
- 【食品生产加工技术】香肠的加工技术
- 贫困户访谈记录
- 道路喷雾降尘方案
- 唐恬人世间的孤勇者与追光者
- 数学基础模块上册课件
评论
0/150
提交评论