【发布时间】:2021-07-27 02:44:06
【问题描述】:
我正在尝试在 excel 中自动执行报告任务,我需要将文件夹中的所有工作簿合并到一个工作表中,我遵循了 danwagner 提供的指南:https://danwagner.co/how-to-combine-multiple-excel-workbooks-into-one-worksheet-with-vba/
它工作得很好,但是由于数据的非结构化性质,我没有得到想要的结果。
基本上,我希望 excel 宏只获取特定范围的值,我正在定义上排和列数,但不知道如何让 excel 严格复制/提取每个工作表中的表格(每个工作簿的表格的起始行和列数相同,但表格的底行不同)。
我需要从每个工作簿中抓取的表格看起来像这样,每个工作簿中只有一个工作表要合并在一起:
任何提示将不胜感激,顺便说一句,我认为需要对指南中的宏的这些行进行编辑,但我一直遇到错误:
lngSrcLastCol = LastOccupiedColNum(wksSrc)
With wksSrc
Set rngSrc = .Range(.Cells(1, 1), .Cells(lngSrcLastRow, _
lngSrcLastCol))
End With
【问题讨论】:
-
每个工作表中的第一个单元格是否相同?如果是这样,你可以例如对第一个(以及所有其他)执行
Set rngSrc = .Range("A5").CurrentRegion,另外对剩余的工作表使用Set rngSrc = rngSrc.Resize(rngSrc.Rows.Count - 1).Offset(1)。