用 TextBox 值重命名 sheet

Rename a sheet with TextBox value

我有一个表格,我想重命名 sheet。实际上,程序正确执行,但是当我想使用 .Activate 函数时出现错误:Type mismatch

Worksheets.Add().name = UserForm1.txtNameSur

Worksheets(UserForm1.txtNameSur).Activate

我也试过了

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

还是一样。

谢谢!

GD 斯特凡,

Worksheets 的 .Activate 方法需要一个索引(整数或长整数)或一个字符串,用于标识要激活的页面。您正在将 TextBox 形式的对象传递给 .Activate 方法。尝试传递值,而不是整个对象,因为 VBA 对如何处理 TextBox 感到困惑,因为它只需要一个 String 或 Integer 或 Long 变量。

即:

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

应该可以!