我有几个多页工作簿,我想将它们合并起来,以便可以同时搜索它们。因此,合并后的工作簿将包含第一个工作簿的标签 1、2、3,然后包含下一个工作簿的标签 1、2、3。
我对 VBA 编程或宏或类似的东西一无所知。如果有人能给我一个脚本并告诉我如何修改它,我将不胜感激。
谢谢阅读!
答案1
下载这RDBMerge 插件。这将是实现这一目标的最佳方式。
下载并放在您可以找到的地方,然后在 Excel 中启用它。我建议使用默认的加载项位置C:\Documents and Settings\User\Application Data\Microsoft\AddIns\
单击文件,单击选项,单击加载项选项卡。在管理下拉菜单中,选择 Excel 加载项,然后单击转到。使用“浏览”转到加载项,然后单击确定。验证加载项列表中是否已选中 RDBMerge,然后单击确定。
然后在 Excel 中,您会在功能区上找到一个按钮,单击它并按照说明进行操作。
或者使用 VBA
Sub CopyBooks()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Dim destinationWorkbook As Workbook
Set destinationWorkbook = ThisWorkbook
Dim sourceWorkbook As Workbook
Dim sourceWorksheet As Worksheet
Const path As String = "C:\path\to\"
Dim file As Variant
Dim currentSheets As Long
currentSheets = destinationWorkbook.Sheets.Count
file = Dir(path & "*.xl*")
While file <> ""
Set sourceWorkbook = Workbooks.Open(path & file)
For Each sourceWorksheet In sourceWorkbook.Worksheets
sourceWorksheet.Copy after:=destinationWorkbook.Worksheets(currentSheets)
currentSheets = currentSheets + 1
Next
sourceWorkbook.Close savechanges:=False
file = Dir
Wend
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub