使用VBA宏重命名Excel工作表

使用VBA宏重命名Excel工作表,vba,excel,Vba,Excel,我想询问有关重命名excel工作表的问题,我想用新名称重命名工作表:旧名称+\u v1 因此,如果我当前的工作表名称是test,那么我需要新名称test_v1 我只知道重命名excel工作表的标准vba,它是根据工作表内容重命名excel工作表 Sub Test() Dim WS As Worksheet For Each WS In Sheets WS.Name = WS.Range("A5") Next WS End Sub 这应该做到: WS.Name = WS.Name &a

我想询问有关重命名excel工作表的问题,我想用新名称重命名工作表:旧名称+\u v1

因此,如果我当前的工作表名称是test,那么我需要新名称test_v1

我只知道重命名excel工作表的标准vba,它是根据工作表内容重命名excel工作表

Sub Test()

Dim WS As Worksheet

For Each WS In Sheets
   WS.Name = WS.Range("A5")
Next WS
End Sub
这应该做到:

WS.Name = WS.Name & "_v1"

如果要重命名的任何图纸已经存在,建议您将处理添加到测试中:

Sub Test()

Dim ws As Worksheet
Dim ws1 As Worksheet
Dim strErr As String

On Error Resume Next
For Each ws In ActiveWorkbook.Sheets
Set ws1 = Sheets(ws.Name & "_v1")
    If ws1 Is Nothing Then
        ws.Name = ws.Name & "_v1"
    Else
         strErr = strErr & ws.Name & "_v1" & vbNewLine
    End If
Set ws1 = Nothing
Next
On Error GoTo 0

If Len(strErr) > 0 Then MsgBox strErr, vbOKOnly, "these sheets already existed"

End Sub
“不添油加醋”选项如下:

ActiveSheet.Name = "New Name"


您还可以查看录制宏并查看它提供的代码,这是开始学习一些更普通的函数的好方法。

WS.Name=WS.Name&“\u v1”
@TimWilliams您能添加这个作为答案吗
Sheets("Sheet2").Name = "New Name"