1

我花了一段时间寻找有关编写代码以将匹配数据从多个工作表复制到单个工作表中的帮助,但我发现的唯一一个类似的操作位于此处:Find Match, Copy Row from Sheet1 and Insert Into Sheet2

我尝试对其进行调整以适应我的需求,但我不太擅长 VBA,我无法让它做我想做的事。任何帮助将不胜感激。

我拥有的是一个有四个工作表的工作簿;Master, FescoMonthly,ScheduleFescoData. 这些工作表由我们的客户发送给我们,因此我可以导入它们,但我不想更改它们的布局,这是问题的一部分。我希望宏在每个工作表中搜索匹配的仪表编号,并将某些行复制到一个名为Combined.

Master工作表中,我需要将整个内容从第 5 行复制到底部(目前是 1982 年,但可以添加更多)和 A 到 F 列。-----A 列是米数

FescoMonthly工作表中,我需要将第 5 行复制到底部和 A 到 H 列,方法是将 D 列(仪表编号)中的相同仪表编号匹配到主工作表的 A 列。

Schedule工作表中,我需要通过将 A 列(米数)与主工作表的 A 列相匹配,将第 5 行复制到底部和 A 到 D 列。

FescoData工作表中,我需要通过将 A 列(米数)与主工作表的 A 列相匹配,将第 5 行复制到底部和 A 到 C 列。

如果有人可以帮助我进行匹配和复制MasterFescoMonthly我想我可以弄清楚如何做其他人,我可以重新发布我的工作,看看我是否做得对。

4

1 回答 1

0

将 sht 设置为包含要复制的数据的工作表
将 trg 设置为目标工作表
将 colCount 设置为要复制的列数

Set rng = sht.Range(sht.Cells(5, 1), sht.Cells(65536, 1).End(xlUp).Resize(, colCount)) 
' start at row 5, then get the last row with data, and then expand to the  number of columns
trg.Cells(65536, 1).End(xlUp).Offset(1).Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value 
' find last unused cell in first column, and copy the data there

(在 excel 2007 或更高版本中使用 1048576 而不是 65536)

于 2012-05-29T19:17:57.667 回答