批量重命名工作表到specfic文件夹中的工作簿(文件)名称

时间:2018-06-18 21:49:15

标签: excel excel-vba directory rename worksheet vba

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

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

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

1 个答案:

答案 0 :(得分:0)

我在网上找到了一个解决方案,在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
&#13;
&#13;
&#13;