如何获取常规(非ActiveX)控件所在的工作表?

我有一个我正在通过单击button调用的子。 我已经select使用常规button(又名表格控制),而不是一个ActiveX,因为我已经看到在ActiveX控件的文本大小波动和常规button不存在这个问题。 我希望子能够使用该button所在的工作表。 我正在想这样的事情:

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

如何获得该button所在工作表的引用?

编辑:如果它不清楚,重要的是它不是一个ActiveX控件的原因是因为这意味着没有myButton_Click()事件工作表中,我可以用来获取工作表对象并传递给showSheetName()的版本showSheetName()需要一个工作表参数。

Set sht = ActiveSheet

这当然假设程序正在手动调用(即用户正在主动点击button),而不是通过CallApplication.Run语句调用。

工作表处于活动状态时,只能由用户点击button。

没有一个常规的button。 也不再有ActiveX控件。

ActiveX是由MS描述使用COM的控件的营销术语。 它作为一个术语,多年前就已经退休了(这项技术仍然是最新的)。

因此很难知道你指的是什么。

使用HELP使用的名称。 列出指定您正在使用的对象/等的代码。