将工作表批量重命名为特定文件夹中的工作簿(文件)名称
Bulk rename worksheets to workbook (file) names in specfic folder
我在一个文件夹中有 90 Excel sheets:每个 Excel 文件都有一个唯一的名称(公司编号)并且只包含 一个工作sheet。然而,sheet 名称在所有文件中通常被命名为 'Sheet1'。是否有 VBA 代码可以将此文件夹中的所有这些 sheet 重命名为它们各自的文件名,减去 '.xlsx'?
基本上我想将所有 sheet 合并到一个文件中(我已经有了那个 VBA 脚本)。然而,在我继续之前,我必须将所有 excel sheet 名称重命名为它们的唯一标识符(即文件名)。
我已经在网上看过了,但还没有看到这个脚本,或者出于类似的其他目的看到了这个脚本。提前致谢!
我在网上找到了一个解决方案,归功于 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
我在一个文件夹中有 90 Excel sheets:每个 Excel 文件都有一个唯一的名称(公司编号)并且只包含 一个工作sheet。然而,sheet 名称在所有文件中通常被命名为 'Sheet1'。是否有 VBA 代码可以将此文件夹中的所有这些 sheet 重命名为它们各自的文件名,减去 '.xlsx'?
基本上我想将所有 sheet 合并到一个文件中(我已经有了那个 VBA 脚本)。然而,在我继续之前,我必须将所有 excel sheet 名称重命名为它们的唯一标识符(即文件名)。
我已经在网上看过了,但还没有看到这个脚本,或者出于类似的其他目的看到了这个脚本。提前致谢!
我在网上找到了一个解决方案,归功于 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