表格的批量重新命名與批量刪除

weixin_33912445發表於2015-01-13

1.批量更改表名

Sub 批量更改表名()
n = InputBox("輸入表格個數")
For i = 1 To n
Sheets(i).Name = " 表" & i
Next i
End Sub

2.以數字批量重新命名

Sub 以數字批量重新命名()
Dim i As Integer
i = 1
For Each sht In ActiveWorkbook.Sheets
sht.Name = i
i = i + 1
Next sht
End Sub

a.以單元格內容批量重新命名,但單元格內不能有相同的名稱

Sub 以不同表格相同位置單元格內容批量重新命名()
Dim i As Integer
i = 1
For Each sht In Worksheets
sht.Name = Sheets(i).Cells(1, 1)
i = i + 1
Next sht
End Sub

b. 以相同表格不同單元格內容批量重新命名

Sub 以相同表格不同單元格內容批量重新命名()
On Error Resume Next
Dim i As Integer
i = 1
For Each sht In Worksheets
sht.Name = Cells(i, 1)'活動工作表需要在要命名的表內
i = i + 1
Next sht
End Sub

4.刪除當前工作簿中除活動工作表外的所有工作表(非原創,引用《Excel VBA其實很簡單》)

'刪除當前工作簿中除活動工作表外的所有工作表
Sub DelSht()
Dim sht As Worksheet '定義變數
Application.DisplayAlerts = False '不顯示警告資訊
For Each sht In Worksheets '遍歷所有工作表
If sht.Name <> ActiveSheet.Name Then '判斷sht代表的工作表是不是活動工作表
sht.Delete '刪除sht代表的工作表
End If
Next
Application.DisplayAlerts = True '恢復警告資訊
End Sub

相關文章