[英]Copy multiple worksheets into one
我花了一段時間尋求幫助,以編寫代碼將匹配的數據從多個工作表復制到單個工作表中,但是唯一執行與我發現的操作類似的操作位於此處: 查找匹配項,從Sheet1復制行並將其插入Sheet2
我曾嘗試對其進行調整以適合自己的需求,但是我對VBA的了解不是很好,我無法讓它做我想做的事情。 任何幫助將不勝感激。
我所擁有的是一本包含四個工作表的工作簿。 Master
, FescoMonthly
, Schedule
和FescoData
。 這些工作表由客戶發送給我們,因此我可以導入它們,但是我不想更改其布局,這是問題的一部分。 我希望宏在每個工作表中搜索匹配的儀表號,然后將某些行復制到名為Combined
的新工作表中。
在Master
工作表中,我需要將整個行從第5行復制到底部(當前是1982年,但可以添加更多),並從A列復制到F列。----- A列是儀表號
在FescoMonthly
工作表中,我需要通過將相同的表號從主工作表的D列(表號)匹配到A列,將第5行復制到底部,並從A到H列復制。
在Schedule
工作表中,我需要通過將A列(儀表號)與主工作表的A列進行匹配,將第5行復制到底部,並從A列復制到D列。
在FescoData
工作表中,我需要通過將A列(儀表號)與主工作表的A列進行匹配,將第5行復制到底部,並將A列復制到C列。
如果有人可以通過匹配和復制Master
和FescoMonthly
來幫助我,我想我可以弄清楚如何做其他人,並且我可以重新發布我的工作以查看我做得是否正確。
將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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.