我花了一些时间寻找帮助来编写代码以将来自多个工作表的匹配数据复制到单个工作表中,但是我发现的唯一一个类似于我找到的工具的代码位于此处:Find Match, Copy Row from Sheet1 and Insert Into Sheet2
我尝试调整它以满足我的需求,但我不是很擅长VBA而且我无法做到我想做的事情。任何帮助将不胜感激。
我所拥有的是一本包含四个工作表的工作簿; Master
,FescoMonthly
,Schedule
和FescoData
。这些工作表由我们的客户发送给我们,因此我可以导入它们,但我不想更改它们的布局,这是问题的一部分。我希望宏在每个工作表中搜索匹配的仪表编号,并将某行复制到名为Combined
的新工作表。
在Master
工作表中,我需要将整个事物从第5行复制到底部(目前是1982年,但可以添加更多)和列A到F. ----- A列是米号
在FescoMonthly
工作表中,我需要将第5行复制到底部,将A列复制到H,方法是将D列(仪表编号)中的相同仪表编号与主工作表的A列相匹配。
在Schedule
工作表中,我需要将第5行复制到底部,将A列(米号)列匹配到主工作表的A列。
在FescoData
工作表中,我需要将第5行复制到底部,将A列(米号)列与主工作表的A列相匹配。
如果有人可以帮助我,只需匹配和复制Master
和FescoMonthly
,我想我可以弄清楚如何做其他人,我可以重新发布我的工作,看看我做得对吗
答案 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)