|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
有问题请教大家:现在有一个文件夹里含有数百张工作簿,每个工作簿含有一张工作表,并且每个工作簿名称与其内含的工作表名称相同。现需要合并这些工作簿(表)到一个工作簿里,我在网上下载了程序如下:
Sub CombineFiles()
Dim path As String
Dim FileName As String
Dim LastCell As Range
Dim Wkb As Workbook
Dim WS As Worksheet
Dim ThisWB As String
Dim MyDir As String
MyDir = ThisWorkbook.path & "\"
'ChDriveLeft(MyDir, 1) 'find all the excel files
'ChDir MyDir
'Match =Dir$("")
ThisWB = ThisWorkbook.Name
Application.EnableEvents = False
Application.ScreenUpdating = False
path = MyDir
FileName = Dir(path & "\*.xls", vbNormal)
Do Until FileName = ""
If FileName <> ThisWB Then
Set Wkb = Workbooks.Open(FileName:=path & "\" & FileName)
For Each WS In Wkb.Worksheets
Set LastCell = WS.Cells.SpecialCells(xlCellTypeLastCell)
If LastCell.Value = "" And LastCell.Address = Range("$A$1").Address Then
Else
WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End If
Next WS
Wkb.Close False
End If
FileName = Dir()
Loop
Application.EnableEvents = True
Application.ScreenUpdating = True
Set Wkb = Nothing
Set LastCell = Nothing
End Sub
具体做法是:在原文件夹里新建一份工作簿,并且插入模块运行以上程序后,可将原文件夹中的原有工作簿统一合并到新建工作簿中。但是我现在需要有选择性地合并一部分工作簿:如图所示,在新建工作簿的sheet1工作表的e列给出需要合并的工作簿名称,需要根据这份名单将所需要的工作簿合并进来。当然,其中有些需要合并工作簿可能不存在,例如原文件夹中并没有第“15”号和第“99”号工作簿,这时需要跳过它们,继续寻找原文件夹中存在的,并且在合并名单中的工作簿继续合并直至完成。恳请哪位高手帮我看看如何修改以上程序?
|
|