使用VBA宏重命名Excel工作表

Ong*_*pen 13 excel vba excel-vba

我想问一下重命名excel表,我想用新名称重命名表:旧名+ _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
Run Code Online (Sandbox Code Playgroud)

小智 21

"没有多余的装饰"选项如下:

ActiveSheet.Name = "New Name"
Run Code Online (Sandbox Code Playgroud)

Sheets("Sheet2").Name = "New Name"
Run Code Online (Sandbox Code Playgroud)

您还可以查看录制宏并查看它为您提供的代码,这是开始学习一些更多香草功能的好方法.


Tim*_*ams 16

这应该这样做:

WS.Name = WS.Name & "_v1"
Run Code Online (Sandbox Code Playgroud)


bre*_*tdj 5

建议您添加处理以测试是否有任何要重命名的图纸已经存在:

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
Run Code Online (Sandbox Code Playgroud)