vba程序中为啥首先activate或select一个sheet?
很多操作是对当前选中的sheet生效的
■网友
谢邀,一般是在操作Range对象时需要激活Sheet,或者是在所有的Range前都指定Sheet,最常见的一类报错是方法\u0026#39;Range\u0026#39;作用于对象\u0026#39;_Global\u0026#39;时失败
■网友
因为那是录制的宏程序,自然有这个,而平时写程序的话要尽量避免用active selection,那样会降低效率。
■网友
没说一定要吧,你是录制法入的门?你绝大多数操作前,比如对range进行操作,只要指定了所属工作表,如下:With ThisWorkbook.Sheets("Sheet1") .Range("A1")End With就可以跳过所有active和select的操作了。你看你录制的代码里面,常常会有这样的形式:Range("A1").SelectSelection.······你只需要把select selection.这部分删掉就可以了。当然就像轮子哥 @vczh说的,默认所有操作都是针对当前工作簿的活动工作表的(除了写在worksheet里面的代码,这里默认讨论写在模块里面的代码),如果你不指定所属工作表(with部分),以后你会被各种奇怪的错误烦死的。当然,也有部分操作不能指定所属所属工作表,或者不能在非活动工作表上运行,这时候就需要active一下。大概就这样吧,我写一半的时候忘记了一部分我想到的内容了。
■网友
题主看到的大概以录制宏生成的代码较多。
哈,从来都是手工打代码,select或者activate一个表很少用,因为会影响速度和体验。
■网友
【vba程序中为啥首先activate或select一个sheet?】 如果不加active 或者select的话,默认是当前sheet,不影响使用。要激活或者选择是因为要调用制定的sheet
■网友
可以跳过,写习惯了就无所谓
■网友
如果你要实现的功能和sheet毫无关系,那肯定没必要了。比如只是想把vba当个好用的脚本语言。。。
推荐阅读
- 招聘都要学历,何来程序员不看学历
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 程序猿和产品汪能愉快的一起谈恋爱嘛
- 怎样成为一名合格的Python程序员?
