excel vba里怎么用代码让某个工作表运行指定的过程?
比如我有一个工作簿,里边包含2个工作表,sheet1和sheet2。1、我想知道在VBA里有没有类似sheet1.过程1()这样的调用方式,就是sheet1执行过程1这个...
比如我有一个工作簿,里边包含2个工作表,sheet1和sheet2。
1、我想知道在VBA里有没有类似 sheet1.过程1() 这样的调用方式,就是sheet1执行过程1这个过程。
2、我自己在VBA里发现个可以实现这个的一种方法,不过是两个语句实现的,如下示:
Sub aa()
Sheet2.Select
Call bb 'bb是另外一个过程
End Sub
在这里我想知道,能不能不运行sheet2.select,而在后台指定sheet2运行过程bb,类似sheet2.bb()这样的方式,而不用激活sheet2成为当前工作表,即activesheet.
感谢大家帮助,谢谢! 展开
1、我想知道在VBA里有没有类似 sheet1.过程1() 这样的调用方式,就是sheet1执行过程1这个过程。
2、我自己在VBA里发现个可以实现这个的一种方法,不过是两个语句实现的,如下示:
Sub aa()
Sheet2.Select
Call bb 'bb是另外一个过程
End Sub
在这里我想知道,能不能不运行sheet2.select,而在后台指定sheet2运行过程bb,类似sheet2.bb()这样的方式,而不用激活sheet2成为当前工作表,即activesheet.
感谢大家帮助,谢谢! 展开
1个回答
展开全部
两种方法:
第一种利用Application.ScreenUpdating = False,不更新屏幕,制造后台运行的假象。
Sub aa()
Application.ScreenUpdating = False
set sht=activesheet '保存当前sheet,等下恢复
Sheet2.Select
Call bb 'bb是另外一个过程
sht.select
Application.ScreenUpdating = True
End Sub
第二种是修改bb过程,指定sheet,比如 将cells(i,1)=1相应改为sheet2.cells(i,1)=1,可用with语句
第一种利用Application.ScreenUpdating = False,不更新屏幕,制造后台运行的假象。
Sub aa()
Application.ScreenUpdating = False
set sht=activesheet '保存当前sheet,等下恢复
Sheet2.Select
Call bb 'bb是另外一个过程
sht.select
Application.ScreenUpdating = True
End Sub
第二种是修改bb过程,指定sheet,比如 将cells(i,1)=1相应改为sheet2.cells(i,1)=1,可用with语句
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询