excel - 将工作表批量重命名为特定文件夹中的工作簿(文件)名称
问题描述
我在一个文件夹中有 90 张 Excel 工作表:每个 Excel 文件都有一个唯一的名称(公司编号)并且只包含一个工作表。但是,工作表名称在所有文件中通常命名为“Sheet1”。是否有一个 VBA 代码可以将此文件夹中的所有这些工作表重命名为各自的文件名,减去“.xlsx”?
基本上我想将所有工作表合并到一个文件中(我已经有了那个 VBA 脚本)。但是,在继续之前,我必须将所有 Excel 工作表名称重命名为其唯一标识符(即文件名)。
我已经在网上看过了,但还没有看到这个脚本,或者出于类似的其他目的看到了这个脚本。提前致谢!
解决方案
我在网上找到了一个解决方案,归功于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
推荐阅读
- android - 如何将值传递回导航架构组件中的片段?
- c++ - C++ 为什么 Traits 在对象上不可用,而是作为静态成员变量可用
- multithreading - 关于使用多线程处理 java 时出现错误的问题?
- java - Spring API 网关中的 Swagger Api 文档
- c# - 无法访问文本对象以更改预制单元中的文本
- firebase - Play 商店发布前报告警告是否会延迟 Beta 版或生产中的发布?
- angular - 如何从角度的下拉列表中获取值
- arrays - 如何找到[L,R]之间大小的最大和子数组
- python - DNS放大攻击演示
- java - ANTLR:如何根据我们解析的规则改变生成的 AST?