将多个工作表复制到一个

我已经花了一段时间寻找帮助编写代码从多个工作表中复制匹配数据到一张表,但唯一一个做了类似的,我发现位于这里: 查找匹配,从Sheet1复制行和插入到Sheet2

我试着调整它以适应我的需求,但是我不是很擅长VBA,我无法做到我想要的。 任何帮助将不胜感激。

我拥有的是一个有四个工作表的工作簿。 MasterFescoMonthlyScheduleFescoData 。 这些工作表是由我们的客户发送给我们的,所以我可以导入他们,但我不想改变他们的布局,这是问题的一部分。 我希望macros在每个工作表中search匹配的计数器编号,并将某个行复制到名为Combined的新工作表中。

Master工作表中,我需要从第5行到最下面(现在是1982,但是可以添加更多)以及A到F列复制整个东西。—–列A是计数器编号

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

Schedule工作表中,我需要将第5行复制到底部,将A列复制到D列,将列A(计数器编号)与主工作表的A列相匹配。

FescoData工作表中,我需要将第5行复制到底部,将第A行复制到C,方法是将A列(计数器编号)与主工作表的A列相匹配。

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

将其设置为具有要复制的数据的工作表
将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)