使用 VBA 重新命名所有工作表(複雜)在本節中,我們將介紹兩個 VBA 程式碼,分別用於為所有工作表名稱添加前綴/後綴,或根據每個工作表中特定單元格的值重新命名所有工作表。
注意:VBA 宏無法撤銷。因此,建議在進行這些操作之前先備份您的工作簿,以防需要恢復原始數據。
步驟 1:創建新模組
按下 Alt + F11 打開 Visual Basic for Applications (VBA) 編輯器。 點擊「插入 > 模組」以創建新模組。 步驟 2:將 VBA 程式碼複製到模組窗口
根據需要複製以下任一 VBA 程式碼並將其粘貼到打開的模組窗口中。
VBA 程式碼 1:為所有工作表名稱添加前綴/後綴 Sub renameSheetsWithPrefixSuffix()
'Update by ExtendOffice
Dim xWs As Worksheet
Dim xPrefix As String
Dim xSuffix As String
xPrefix = "MyPre_" 'Replace "MyPre_" with your desired prefix.
xSuffix = "_MySuf" 'Replace "_MySuf" with your desired suffix.
On Error Resume Next
For Each xWs In Worksheets
xWs.Name = xPrefix & xWs.Name & xSuffix 'This snippet adds both prefix and suffix to sheet names. Adjust as needed.
Next xWs
End Sub 注意:
在此程式碼中,要為所有工作表名稱添加前綴和後綴,您應該分別將第 6 行和第 7 行的 "MyPre_" 和 "_MySuf" 替換為所需的前綴和後綴。 僅添加前綴時,將第 10 行程式碼修改為 xWs.Name = xPrefix & xWs.Name。 僅添加後綴時,將第 10 行程式碼修改為 xWs.Name = xWs.Name & xSuffix。 VBA 程式碼 2:根據每個工作表中指定單元格的值重新命名所有工作表 Sub renameSheetsBasedOnCellValue()
'Update by ExtendOffice
Dim xWs As Worksheet
Dim xRgAddress As String
xRgAddress = "A1" 'Replace "A1" with your target cell address.
On Error Resume Next
For Each xWs In Worksheets
xWs.Name = xWs.Range(xRgAddress).Value
Next xWs
End Sub 注意:在此 VBA 程式碼中,記住要將第 5 行的 "A1" 更改為包含每個工作表新名稱的實際單元格地址。此外,確保每個工作表上的指定單元格(在本例中為 A1)包含值。否則,運行此 VBA 程式碼將導致運行時錯誤 '1004'。
步驟 3:運行 VBA 程式碼
在 模組 窗口中,按下 F5 或點擊 按鈕以執行粘貼的程式碼。
結果
VBA 程式碼 1 的結果:「Pre_」和「_Suf」分別作為前綴和後綴添加到所有工作表名稱中。 VBA 程式碼 2 的結果:所有工作表都根據每個工作表中 A1 單元格的值重新命名,分別為「Test1」、「Test2」和「Test3」。