ExcelVBA 模板填數(shù)
網(wǎng)友提問:



回答網(wǎng)友問題:
關(guān)于模板填數(shù),沒有統(tǒng)一代碼,就像處理合并單元格與多行表頭一樣,一種模板寫一個代碼
當(dāng)你模板或數(shù)據(jù)發(fā)生變化時,代碼也要跟著改變。
關(guān)于這個問題,我在答網(wǎng)友問中反復(fù)解答過
https://www.bilibili.com/read/readlist/rl613651
思路:獲取每個公司的名稱,篩選每個公司,把篩選結(jié)果復(fù)制過去。至于細節(jié),需要您系統(tǒng)學(xué)習(xí)。
關(guān)于獲取每個公司的名稱我講過字典去重,也講過office365中的unique函數(shù)
其實還有另一種方法,我以前也講過,只是用的少,今天再用一次,就是把數(shù)據(jù)存到數(shù)組,把數(shù)組寫入單元格,去單元格去重。我測試了一下104W行數(shù)據(jù)大約是5秒鐘。(此方法不適合你開發(fā)軟件,只適合辦公自動化,但是會精簡代碼量)
首先是數(shù)據(jù)準(zhǔn)備,不想寫太多代碼,就在數(shù)組準(zhǔn)備上下一點功夫,例如
我加個序號列,把公司列移到最后,字段名改成備注,后續(xù)我就少了很多麻煩
另外,我們需要什么,就拿什么字段,把全天下的字段都擺出來然后在代碼中處理那是開發(fā)軟件的人。

關(guān)于模板,我這樣處理
學(xué)ExcelVBA肯定是學(xué)過工作表函數(shù)的,像這種最簡單的工作表函數(shù),我在Excel基礎(chǔ)篇里都講
Excel基礎(chǔ)篇:https://www.bilibili.com/video/BV1Z7411c7U6
如果你沒學(xué)過,那只能跟著我寫,不是我沒講原理,初中英語老師可能會重講ABC,但是初中數(shù)學(xué)老師肯定不會重講九九乘法口訣。
這樣就可以無論增加多少行,都能從F4到最后一個數(shù)字的行進行求和

然后寫代碼如下:
運行后得到



聲明:我?guī)湍且驗槟龅氖寝k公自動化,是要把每個公司的表打印或觀賞,如果有一天,您要數(shù)據(jù)分析,請使用明細表,不要用模板生成的表??梢赃@樣理解,您現(xiàn)在做的是把一條活魚做成一道菜,后者是想將一道菜變成活魚再放生。

ExcelVBA教程:https://www.bilibili.com/video/BV1rt4y1a72y