用TextBox值重命名表

我有一个表单,我想重命名表单。 其实,程序正确,但是当我想使用。激活function我得到一个错误:types不匹配

Worksheets.Add().name = UserForm1.txtNameSur Worksheets(UserForm1.txtNameSur).Activate 

我也试过了

 Worksheets("&UserForm1.txtNameSur&").Activate 

还是一样。

谢谢!

GD Stefan,

工作表的.Activate方法期望索引(整数或长整数)或string,标识要激活的页面。 您正在将文本框forms的对象传递给.Activate方法。 尝试传递值而不是整个对象,因为VBA会对该文本框做什么处理感到困惑,因为它只期望一个string或一个整数或长整型variables。

即:

 Worksheets.Add().Name = UserForm1.txtNameSur.Value Worksheets(UserForm1.txtNameSur.Value).Activate 

这应该工作!