首页 > 解决方案 > 将工作表批量重命名为特定文件夹中的工作簿(文件)名称

问题描述

我在一个文件夹中有 90 张 Excel 工作表:每个 Excel 文件都有一个唯一的名称(公司编号)并且只包含一个工作表。但是,工作表名称在所有文件中通常命名为“Sheet1”。是否有一个 VBA 代码可以将此文件夹中的所有这些工作表重命名为各自的文件名,减去“.xlsx”?

基本上我想将所有工作表合并到一个文件中(我已经有了那个 VBA 脚本)。但是,在继续之前,我必须将所有 Excel 工作表名称重命名为其唯一标识符(即文件名)。

我已经在网上看过了,但还没有看到这个脚本,或者出于类似的其他目的看到了这个脚本。提前致谢!

标签: exceldirectoryrenameworksheetvba

解决方案


我在网上找到了一个解决方案,归功于https://www.mrexcel.com/forum/excel-questions/660913-vba-code-bulk-rename-first-worksheet-dependent-workbook-name.html上的用户 VoG

这就是解决方案。将MyFolder = "C:\example"更改为相应的文件夹

Sub RenSheets()
Dim MyFolder As String
Dim MyFile As String
Dim wbname As String
MyFolder = "C:\example"
MyFile = Dir(MyFolder & "\*.xls")
Application.ScreenUpdating = False
Do While MyFile <> ""
    Workbooks.Open Filename:=MyFolder & "\" & MyFile
    With ActiveWorkbook
        wbname = Left(.Name, InStr(.Name, ".") - 1)
        .Sheets(1).Name = wbname
        .Close savechanges:=True
    End With
    MyFile = Dir
Loop
Application.ScreenUpdating = True
End Sub


推荐阅读