我刚刚开始使用VBA for Excel,我遇到了一个我无法找到解决方案的问题 . 我想创建一个宏来制作工作表的副本,并将副本重命名为单元格B8中指定的内容 . 现在,Cell B8包含一个字符串和一个值(基于公式),如下所示 .
细胞B8的含量
如何让VBA使用名称(字符串和数字)作为新工作表的名称?
Sub NewFunction()
Dim counter As Integer
Sheets(1).Copy After:=Sheets(1)
ActiveSheet.name = Sheets(1).Range("B8").CStr
End Sub
提前致谢!
2 回答
例如,您不能在工作表名称中使用“/” . 它可能会出错,但Excel会忽略它 .
其次,您正在更改错误的工作表上的名称 . 您添加了一个新工作表,然后引用旧工作表 .
第三,不需要使用.CStr作为单元格的值就是你想要的,因为那是默认属性,所以也不需要使用.Value .
你快到了
哪里
在
Worksheet
对象Copy()
方法之后,新工作表成为活动工具
VBA Replace()方法
chain
是为了确保您没有为新工作表名称使用禁用字符仍然存在可能重复名称的问题,如果您搜索,可以通过此处可以找到的特定功能来处理