单击一张纸上的按钮以获取另一张纸上的数据

时间:2016-08-24 07:46:02

标签: excel vba excel-vba

我在“sheet1”上有一个点击按钮,并希望它在单击“sheet2”时执行其代码,其中所有数据都在。激活其他工作表的推荐方法是什么?

我是vba的新手,并且在过去的几天里已经阅读了一些关于此的帖子,但到目前为止还没有找到一个令人满意的答案,如何尽可能简单地实现工作表更改。我见过这样的事情:

Private Sub CommandButton1_Click()
    Worksheets("sheet2").Cells(1, 1).Value = 1 
    Worksheets("sheet2").Cells(2,1).Value = 1
    ...
End Sub

,我必须不断地将对象的范围重新声明为“sheet2”。

2 个答案:

答案 0 :(得分:1)

您应该使用WithActivateSelect会使工作表成为焦点。

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