Excel情報局 職場聯(lián)盟Excel ![]() 大家好,最近DeepSeek(深度求索)AI智能在抖音火爆了,聽說美國的ChatGPT都感覺到了危機,最重要的是DeepSeek是開源免費的。智能化更加優(yōu)秀。 那么如何運用DeepSeek實現(xiàn)在Excel中對工作簿內(nèi)所有工作表進行批量合并呢? 如下圖所示: 有“銷售部”、“財務(wù)部”、“生產(chǎn)部”3張分表,我們想要將這3張分表合并到新的總表中,3張分表的首行都為格式和內(nèi)容相同的標(biāo)題行。并且合并后的總表也只能有首行一行標(biāo)題行。 DeepSeek Chat是由深度求索公司開發(fā)的AI智能助手。DeepSeek Chat基于DeepSeek大語言模型開發(fā),可以進行自然語言處理和文本生成,回答各種問題,提供信息查詢、對話交流、知識問答等服務(wù)。 我們來摘要一段DeepSeek前期思考,整個過程感覺像人一樣思考: 【嗯,用戶有一個Excel工作簿,里面有多個工作表,每個工作表的第一行是標(biāo)題行。用戶想把這些不同工作表里的數(shù)據(jù)合并到一個新的工作表中,并且保留首行作為標(biāo)題行。需要寫一段VBA代碼來實現(xiàn)這個功能。 首先,我需要理解每個工作表中的數(shù)據(jù)結(jié)構(gòu)。比如,“銷售部”、“財務(wù)部”、“生產(chǎn)部”都有相同的列結(jié)構(gòu):部門、姓名、工號。數(shù)據(jù)行從第二行開始,每個工作表有三行數(shù)據(jù),但實際情況下可能有更多。我需要確保代碼能處理不同數(shù)量的數(shù)據(jù)行。 接下來,合并數(shù)據(jù)的步驟應(yīng)該是這樣的:新建一個工作表,作為匯總表。然后遍歷每一個現(xiàn)有的工作表,跳過第一個標(biāo)題行,把數(shù)據(jù)復(fù)制到匯總表中。 需要注意的是,匯總表的標(biāo)題行只需要出現(xiàn)一次,所以第一次復(fù)制時要包含標(biāo)題,之后的不再包含,或者先單獨復(fù)制標(biāo)題行,再處理數(shù)據(jù)。 可能的陷阱:如果工作表中有除了數(shù)據(jù)之外的其它內(nèi)容,比如中間有空行或者其它格式,可能會影響結(jié)果。但根據(jù)用戶提供的數(shù)據(jù)示例,每個工作表的結(jié)構(gòu)是規(guī)范的,所以暫時不需要處理這些特殊情況。 另外,要確保VBA代碼能夠動態(tài)識別所有的工作表,排除掉可能存在的非數(shù)據(jù)工作表。例如,用戶可能有一個匯總表已經(jīng)存在,或者在代碼運行前需要先檢查是否存在,若存在則刪除或覆蓋】 DeepSeek給出我們最終的VBA代碼解決方案: 代碼說明: 創(chuàng)建名為"匯總"的新工作表,若已存在則清空內(nèi)容。 從第一個工作表復(fù)制標(biāo)題行到匯總表首行。 遍歷所有工作表(排除匯總表自身)。 自動識別每個工作表的數(shù)據(jù)范圍(從A2到C列最后一行)。 將數(shù)據(jù)依次追加到匯總表中。 最終自動調(diào)整列寬并彈出完成提示。
DeepSeek還針對一些特殊情況給出的一些注意事項,很貼心: 注意事項: 確保所有工作表結(jié)構(gòu)一致(列順序:部門、姓名、工號)。 標(biāo)題行必須位于每個工作表的第一行。 支持任意行數(shù)的數(shù)據(jù)合并。 結(jié)果保存在新建的"匯總"工作表中。 代碼會跳過沒有數(shù)據(jù)的工作表(僅含標(biāo)題行的工作表)。 我們根據(jù)下面的“運行方法”,在Excel或WPS表格中進行操作,最終即可完成多工作表合并: 運行方法: 按 Alt+F11 打開VBA編輯器。 插入新模塊。 粘貼代碼。 按F5運行宏。 查看生成的"匯總"工作表。 |
|