VB有啥办法把多个Excel工作簿中的工作表名称改成默认的sheet1。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB有啥办法把多个Excel工作簿中的工作表名称改成默认的sheet1。相关的知识,希望对你有一定的参考价值。

参考技术A Sub Marco1()
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    thisbk = ThisWorkbook.Name
    FileToOpen_N = Application.GetOpenFilename(Title:="请选择要合并工作簿:", MultiSelect:=True)
    On Error Resume Next
    For Each FileToOpen In FileToOpen_N
        Set OpenBook = Workbooks.Open(FileToOpen)
        OpenBook.Worksheets(1).Name = "sheet1"
        OpenBook.Close SaveChanges:=True
    Next
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

将同一工作簿中的多个 Excel 工作表复合到一张工作表中

【中文标题】将同一工作簿中的多个 Excel 工作表复合到一张工作表中【英文标题】:Compounding multiple Excel sheets in the same workbook into one sheet 【发布时间】:2017-09-09 11:16:40 【问题描述】:

我有一个 Excel 工作簿,其中包含 36 个不同的工作表,我每 2 周收到一次,这些工作表在所有选项卡上都有共同的标题和在每个选项卡上不同的唯一标题,但每条记录都有一个唯一的 ID,可以有多个记录.

我要做的是从所有工作表中去除唯一 ID,然后将数据从每个工作表中提取到一张具有所有公共标题以及所有唯一标题的工作表上。

我正在考虑使用下面帖子中的代码将其导入 Access 连接表并将其导出回 Excel 中的一张表,但代码不起作用,我收到 run-time error that: field "F1" does not exist in destination table 错误,我不能看看他们是如何解决这个问题的。

Importing multiple sheets from an excel file into multiple tables by sheet name

我不确定这是实现目标的最佳方式。

【问题讨论】:

【参考方案1】:

不要导入工作表,链接它们。

然后使用链接表作为源创建直接选择查询,并在其中将 F1 等字段重命名(别名)为有意义的名称。还可以根据需要对无效记录应用简单过滤和字段值转换。

然后使用这个/这些查询/查询进行进一步处理。

【讨论】:

您是否建议在 Excel 中执行此操作?抱歉,我对 Excel 的那方面的了解非常有限。 否 - 在访问中。 我将每 2 周进行一次,所以我希望它尽可能快。是否有批量链接所有单独的选项卡/工作表? 是的,在您的代码中使用:DoCmd.TransferSpreadsheet acLink, ... 我已经按照建议使用了上面的代码,谢谢!,表格带有表格名称Summary1,Summary2等,有没有办法可以提取表格的名称?

以上是关于VB有啥办法把多个Excel工作簿中的工作表名称改成默认的sheet1。的主要内容,如果未能解决你的问题,请参考以下文章

vb6.0改Excel的工作表名

如何将一个 Excel 工作簿中的多个工作表合并成一个工作表?

如何用VBA把一个工作簿中的工作表内容复制到另一个汇总工作簿里面的指定的工作表里面去?

VB 如何获得Excel的工作表数和名称?

有没有办法将 excel 工作簿中的单个工作表导出到使用 pandas 分隔 csv 文件?

一个Excel工作簿中的多个工作表怎么拆分成独立表格