将工作表批量重命名为特定文件夹中的工作簿(文件)名称



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

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

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

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

这就是解决方案。将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

最新更新