我有一个包含 100 多个工作表的现有工作簿。我需要使用查找功能重命名这些工作表。
数据示例是我在 A 列中列出了旧名称,在 B 列中列出了新名称
有没有人有可以实现这一点的 vba 代码?
提前致谢
Sub ReplaceWorkSheetName()
将 ws 调暗为工作表 将 wsNewName 变暗为字符串
对于 ActiveWorkbook.Worksheets 中的每个 ws wsNewName = Application.VLookup(ws.Name, Sheets("Test").Range("A2:B89"), 2, False) 如果不是 IsError(wsNewName) 那么 ws.Name = wsNewName 接下来ws
结束子
我收到错误类型不匹配 13 错误
Sub ReplaceWorkSheetName()
Dim ws As Worksheet
Dim wsNewName As Variant
For Each ws In ActiveWorkbook.Worksheets
wsNewName = Application.VLookup(ws.Name, Sheets("Test").Range("A2:B89"), 2, False)
If Not IsError(wsNewName) And TypeName(wsNewName) = "String" Then
ws.Name = wsNewName
End If
Next ws
End Sub
试试
Sub RenameSheets()
Dim ws As Worksheet
Dim searchValue As String
Dim foundCell As Range
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then
Set foundCell = ws.Range("A:A").Find(ws.Name, , xlValues, xlWhole)
If Not foundCell Is Nothing Then
ws.Name = foundCell.Offset(0, 1).Value
End If
End If
Next ws
End Sub