連春來
摘要: Excel行數(shù)據(jù)批量輸出為Word樣式文檔步驟;VBA宏代碼的簡單應(yīng)用
關(guān)鍵詞:創(chuàng)建表;創(chuàng)建宏代碼 ;自動復(fù)制表;程序創(chuàng)建引用
中圖分類號: TP311? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2020)36-0192-02
1 提出問題
Excel表是行列結(jié)構(gòu)的,優(yōu)點是方便篩選、排序、計算、分析、統(tǒng)計功能,但列數(shù)據(jù)比較多時,就不夠直觀,打印、查看都不方便,如表1(只截取部分表):
Excel表還可以有更直觀的呈現(xiàn)方式,每行數(shù)據(jù)輸出為Word樣式文檔,如表2(只截取部分表):
上述行列表、直觀表各有優(yōu)點,如何在行列表中操作數(shù)據(jù),后輸出為直觀表?比如某表有400行的調(diào)查數(shù)據(jù),全部輸出為400張Word樣式文檔,如何來提高工作效率?
2 分析問題
批量輸出的可行性分析:
1)兩種表之間可通過單元格引用,形成一一對應(yīng)關(guān)系;
2)輸出表通過復(fù)制,能生成多表,可借助VBA宏代碼實現(xiàn)快速自動復(fù)制;
3)輸出表的每一單元格的引用,可以通過VBA宏代碼的循環(huán)替換生成一一對應(yīng)行列表單元格。
4)通過對輸出表進行選擇性粘貼,解除單元格的引用,生成不帶公式的表。
3 實例應(yīng)用
3.1 第一步,R1C1引用樣式設(shè)置(Excel2003為例)
在Excel主界面,默認(rèn)使用“A1”格式為單元格引用,現(xiàn)轉(zhuǎn)換為“R1C1”引用樣式,目的是為單元格行列數(shù)字替換做準(zhǔn)備。設(shè)置步驟:Excel菜單工具→選項→常規(guī),在“設(shè)置”中單擊“R1C1引用樣式(C)”前面方框,最后單擊確定,單元格數(shù)字引用樣式完成設(shè)置,如“R2C5”, “R10C15”。
設(shè)置前,列表示為A,B,C,D,E,F(xiàn)…,列是用字母表示,如表3。
設(shè)置后,列表示為1,2,3,4,5,6…,列是用數(shù)字表示,如表4。
3.2 第二步,創(chuàng)建設(shè)計表和數(shù)據(jù)表
1)創(chuàng)建設(shè)計表,表名為“設(shè)計表”,樣式如表5。
2)創(chuàng)建數(shù)據(jù)表,表名“sheet5”,添加如表6內(nèi)容(為盡可能多顯示,數(shù)值用數(shù)字代替)。
3.3 第三步,k值替換
用“ #Sheet5!R?yC?z&"" ”替換設(shè)計表3.2.1中的k值,其“R”為行,“?y”表示行數(shù), C為列,“?z”表示列數(shù)(如Sheet5!R1C2,表示引用的是表“Sheet5”的1行2列的數(shù)據(jù)),&""表示連接空格(目的是數(shù)據(jù)顯示為字符格式),替換后如表7:
3.4 第四步,創(chuàng)建VBA宏代碼模塊--用于復(fù)制表
創(chuàng)建VBA宏代碼模塊,用于復(fù)制表(模塊名稱為“表添加()”),VBA宏代碼如圖1。
動態(tài)參數(shù)說明:A1:R36? 為復(fù)制區(qū)域(不同的表,區(qū)域會不同,是動態(tài)的);
運行此模塊后,復(fù)制成5張一樣的表。
3.5 第五步,創(chuàng)建VBA宏代碼模塊--用于單元格行列引用參數(shù)替換
創(chuàng)建用于單元格行列引用參數(shù)替換的VBA宏代碼模塊(名稱為“表行列增加()”),如圖2。
動態(tài)參數(shù)說明:
運行此模塊后,設(shè)計表第一張表替換后如表8, 第二張表替換后如表9。
設(shè)計表第一張表的單元格,對應(yīng)sheet5表第二行的相應(yīng)單元格;
設(shè)計表第二張表的單元格,對應(yīng)sheet5表第三行的相應(yīng)單元格;
設(shè)計表第三張表的單元格,對應(yīng)sheet5表第四行的相應(yīng)單元格;
依次類推,形成設(shè)計表的各單張表與sheet5表的行有一一對應(yīng)關(guān)系。
3.6 第六步,設(shè)計表生成引用公式(如“#sheet5!R2c2&""”生成引用“=Sheet5!R2C2”)
由Excel菜單“編輯” →“查找替換”, 把“#”替換為“=”,生成引用公式,如設(shè)計表“R3C4”單元格的值引用了表“Sheet5”的“R2C2” 單元格的值,表2對應(yīng)表1。
至此,Excel行列結(jié)構(gòu)數(shù)據(jù)表“sheet5”批量輸出為Word樣式文檔“設(shè)計表”,轉(zhuǎn)換完成。
4 注意事項及相關(guān)問題
1)單元格不能轉(zhuǎn)換生成公式時,單元格設(shè)置成常規(guī)格式;
2)設(shè)計表要脫離公式引用,可全選表格,在當(dāng)前表右擊,選擇性粘貼;
3)直觀表轉(zhuǎn)行列表,簡單多了,反引用二行,向下拉就成了。
【通聯(lián)編輯:李雅琪】