EXCEL VBA 如何获取文本框名称?

在Sheet1中,插入了很多文本框(不是控件)TextBox 1、TextBox 2、TextBox 3……,
如何用VBA做到:当我任意点击一个文本框时,将该文本框的名称赋值给变量X

和窗体控件类似处理,可用如下方法:
在每个文本框获得焦点事件中将文本框名称赋值给X(X应为全局变量),比如
Private Sub TextBox1_GotFocus()
X = TextBox1.Name
End Sub追问

我只是菜鸟,请详细说明
程序是写在类模块中、模块中还是表中?
我用Public声明了X变量
点击表中的文本框,程序不启动。用加载宏也加载不了这个程序。
还有我说的文本框不是控件,请参见我对下面老师的追问。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-15

参考。

追问

谢谢你的回复。
不过你的文本框都是控件,而且是ActiveX控件。在名称框显示的是TextBox1,在公式框显示的是 =EMBED("Forms.TextBox.1",""),而我要的不是控件,也就是说在名称框显示的是TextBox 1(注意这里有空格)、在公式框为空的那种文本框。还有,我要的是获取文本框的名称,如 TextBox 1、TextBox 2等,而不是文本框内的值。

追答

发你文件

Crazy0qwer@qq.com

给我。文本框只有ActiveX控件,表单控件是没有文本框的。

追问

发给你了,请指教

本回答被提问者采纳
相似回答