将多个工作表复制到一个工作表中

时间:2012-05-29 18:48:45

标签: excel vba excel-vba

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

我尝试调整它以满足我的需求,但我不是很擅长VBA而且我无法做到我想做的事情。任何帮助将不胜感激。

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

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

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

Schedule工作表中,我需要将第5行复制到底部,将A列(米号)列匹配到主工作表的A列。

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

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

1 个答案:

答案 0 :(得分: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)