我点击一个按钮就可以打电话给我。我选择使用常规按钮(也称为表单控件),而不是ActiveX控件,因为我已经看到ActiveX控件上的文本大小波动,而常规按钮不会出现此问题。我希望sub能够使用按钮所在的工作表。我在考虑这样的事情:
Sub showSheetName()
Dim sht As Worksheet
'this would work if the code was in the worksheet's module
Set sht = Me
msgbox sht.Name
End Sub
但是这个子是在共享模块中,而不是工作表的模块,因为我想要几张能够使用它。因此Me
并未指向工作表,此方法仅提供Invalid use of Me keyword
。
如何获得该按钮所在的工作表的引用?
编辑:如果不清楚,那么它不是ActiveX控件的重要原因是因为这意味着没有myButton_Click()
事件我可以用来获取工作表对象并传递给带有工作表参数的showSheetName()
版本的工作表。
答案 0 :(得分:2)
Set sht = ActiveSheet
...
这当然假设手动调用过程(即用户正在主动单击按钮),而不是通过Call
或Application.Run
语句调用。
当工作表处于活动视图时,用户只能单击该按钮。
答案 1 :(得分:-1)
没有普通按钮这样的东西。也没有ActiveX控件。
ActiveX是MS的营销术语,用于描述使用COM的控件。作为一个术语,它在几年前退休了(技术仍然是最新的)。
因此很难知道你指的是什么。
使用HELP使用的名称。列出指定您正在使用的对象/等的代码。