我在“sheet1”上有一个点击按钮,并希望它在单击“sheet2”时执行其代码,其中所有数据都在。激活其他工作表的推荐方法是什么?
我是vba的新手,并且在过去的几天里已经阅读了一些关于此的帖子,但到目前为止还没有找到一个令人满意的答案,如何尽可能简单地实现工作表更改。我见过这样的事情:
Private Sub CommandButton1_Click()
Worksheets("sheet2").Cells(1, 1).Value = 1
Worksheets("sheet2").Cells(2,1).Value = 1
...
End Sub
,我必须不断地将对象的范围重新声明为“sheet2”。
答案 0 :(得分:1)
您应该使用With
而Activate
或Select
会使工作表成为焦点。
Private Sub CommandButton1_Click()
With Worksheets("sheet2")
.Cells(1, 1).Value = 1
.Cells(2,1).Value = 1
...
'/Activate the sheet
.Activate
End With
End Sub
答案 1 :(得分:0)
您可以切换到sheet2
,然后执行任何后续命令,而无需像这样明确提及sheet2
:
Private Sub CommandButton1_Click()
Worksheets("sheet2").Activate 'Switch to sheet2
Cells(1, 1).Value = 1 'this change will happen in sheet2
Celss(2,1).Value = 1 'this too
...
End Sub