Vba 将插入的工作表命名为其他工作表

Vba 将插入的工作表命名为其他工作表,vba,excel,Vba,Excel,我想在工作簿中添加一个新工作表,并将其命名为与活动工作表完全相同的名称,但后面有一个“”。 因此,如果活动工作表的名称是0908,那么我希望新插入的工作表的名称是0908' 我搜索了一下,看到了如何命名一个引用了其他地方的工作表,但只针对其他工作表中的值 这是在其他工作表中引用的代码 Worksheets.add.Name = Worksheets("MENU").Range("B2").value 这样的办法应该行得通 Worksheets.add.Name = ActiveSheet.Na

我想在工作簿中添加一个新工作表,并将其命名为与活动工作表完全相同的名称,但后面有一个“
。 因此,如果活动工作表的名称是
0908
,那么我希望新插入的工作表的名称是
0908'

我搜索了一下,看到了如何命名一个引用了其他地方的工作表,但只针对其他工作表中的值

这是在其他工作表中引用的代码

Worksheets.add.Name = Worksheets("MENU").Range("B2").value

这样的办法应该行得通

Worksheets.add.Name = ActiveSheet.Name & "xxx"
您只需要读取活动工作表的名称并向其附加一个字符串

但是在一张纸的末尾用撇号是不行的
仅当后跟另一个字符(如:

Worksheets.add.Name = ActiveSheet.Name & "'s"

这样的办法应该行得通

Worksheets.add.Name = ActiveSheet.Name & "xxx"
您只需要读取活动工作表的名称并向其附加一个字符串

但是在一张纸的末尾用撇号是不行的
仅当后跟另一个字符(如:

Worksheets.add.Name = ActiveSheet.Name & "'s"

您可能正在寻找这样的代码

Dim WsName As String
Dim Ws As Worksheet

WsName = ActiveSheet.Name
Set Ws = Worksheets.Add(After:=Worksheet(Worksheets.Count))
Ws.Name = WsName & "1"

您可能正在寻找这样的代码

Dim WsName As String
Dim Ws As Worksheet

WsName = ActiveSheet.Name
Set Ws = Worksheets.Add(After:=Worksheet(Worksheets.Count))
Ws.Name = WsName & "1"

由于必须在“'”后面有一个字符,因此可以使用

Worksheets.Add.Name = ActiveSheet.Name & "' "

在“之后添加空格将产生您想要的效果。

由于在“”之后必须有一个字符,您可以使用

Worksheets.Add.Name = ActiveSheet.Name & "' "

在“之后添加空格将产生您想要的效果。

您不能在工作表的名称中使用撇号。@可以使用Variatus,但不能作为最后一个字符。@Peh有趣。非常感谢。我还了解到,您也不能在开始时使用它:-)您不能在工作表的名称中使用撇号。@Variatus您可以,但不能作为最后一个字符。@Peh有趣。非常感谢。我还了解到,一开始也不能使用它:-)