Re: [算表] 各別合併不同檔案內的第二及第三工作表

作者: docse (可愛到犯規)   2016-07-11 23:21:50
※ 引述《faeriay (...)》之銘言:
軟體: Excel
版本:Office 2013
我有上百個以下的EXCEL檔案,每個檔案內都有三個工作表,分別表示受訪者的各類表現
每個類別的工作表格式相同,反之則不同,例如不同檔案間"[*]體適能表現"的工作表
內的格式是一樣的。
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
檔案名稱1:小明.xls
工作表名稱1:[小明]數學成績、[小明]體適能表現、[小明]出缺席狀況
檔案名稱2:小莉.xls
工作表名稱2:[小莉]數學成績、[小莉]體適能表現、[小莉]出缺席狀況
檔案名稱3:小捲.xls
工作表名稱3:[小捲]數學成績、[小捲]體適能表現、[小捲]出缺席狀況
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
想請問是否有辦法藉由巨集,合併不同檔案間的特定工作表成為一個單一的工作活頁簿?
例如,我想要製作一個EXCEL檔案,表示所有受訪者的體適能表現?
過往合併多項EXCEL檔案,我都是藉由以下部落格提供的巨集。
http://blog.bestdaylong.com/2008/07/excelcopy.html
這個巨集僅能合併預設第一個的工作表,或者指定相同名稱的工作表。
但是這次合併檔案的工作表名稱不相同(卻有規律性),而且又落在第二個與第三個工作表
請問是否可小幅修改上述的巨集,即能達到我想要的目的?
或者,我也想到只要有辦法批次修改不同檔案的工作表名稱,一致稱為sheet2 與sheet3
就可再使用上述巨集來合併EXCEL檔案。
作者: soyoso (我是耀宗)   2015-01-09 17:39:00
將切換視窗windows(filename).activesheet改為ActiveWorkbook.Sheets("[" & replace(filename,".xls","") &"]體適能表現")若是整合的工作表名稱是"數學"而多個檔案的工作表出現的是類似"數學-1"、"數字001"...之類的話,可用for each 變數in sheets....next迴圈,迴圈內再以instr來判斷"數字"是否於變數.name內(大於0時)若是整合的工作表名稱和多個檔案的工作表名稱無關連的話而某個工作表內有出現某個關鍵字時可用for each 變數...next迴圈,迴圈內以range.find來判斷is nothing為無出現,反相可用not
作者: docse (可愛到犯規)   2016-07-12 00:49:00
我再試試,謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com