大江東去
在開始介紹本期的VBA相關技巧之前,我們先來復習一下VBA的操作方法:按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側窗格插入一個空白模塊,手工輸入或粘貼代碼。代碼檢查無誤之后,選擇“文件/關閉并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運行宏即可實現(xiàn)相應操作。
利用VBA代碼快速查找數據
并提取內容
在工作中遇到一個問題,要求從Sheet2工作表查找出相關會員的分數和總排名(如圖1),并將其顯示在Sheet3,由于原始表格的數據太大,使用公式的話耗費的時間相對比較多,領導并不滿意,因此考慮使用VBA代碼實現(xiàn)上述任務。
按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側窗格插入一個空白模塊(如圖2),在這里手工輸入或粘貼如下代碼(相關代碼可關注電腦迷微信回復“201506vba1”獲取下載鏈接)。
上述代碼檢查無誤之后,依次選擇“文件/關閉并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運行宏,很快就可以完成數據查找和復制的任務。
利用VBA代碼批量刪除特定行
最近從金蝶財務軟件中導出相關的明細帳(如圖3),需要刪除其中包含“期初余額”、“本日合計”、“本月合計”、“本年累計”、“結轉下年”單元格所在的行,由于數據量接近數十萬條,手工刪除顯然相當麻煩。我們可以使用VBA代碼解決這一問題。
按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側窗格插入一個空白模塊。經過分析,包含相關單元格內容的行,在B列均為空白,因此我們可以在模塊窗格手工輸入或粘貼如下代碼(相關代碼可關注電腦迷微信回復“201506vba2”獲取下載鏈接)(如圖4)。
該代碼換了一種思路,主要是刪除B列非空白的數據,檢查無誤之后,依次選擇“文件/關閉并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運行宏,很快就可以完成批量刪除的任務(如圖5)。
利用VBA代碼拼音
提取注音文本
手頭有一篇拼音標注的佛經注音校對文檔,其中的拼音是使用域代碼實現(xiàn)的,切換域代碼之后(如圖6),可以發(fā)現(xiàn)大量類似于“(chénɡ),乘)”的文字,現(xiàn)在希望借助某種手段,將其中的注音文本提取出來復制到文檔的末尾,除了手工操作之外,有沒有簡單一些的方法呢?
利用VBA代碼可以解決這一問題,按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側窗格插入一個空白模塊,手工粘貼或輸入代碼(相關代碼可關注電腦迷微信回復“201506vba3”獲取下載鏈接)。
代碼檢查無誤之后,依次選擇“文件/關閉并返回到Microsoft Word”命令,返回Word主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運行宏,很快就可以得到結果(如圖7)。
利用VBA代碼實現(xiàn)復雜查重任務
最近在工作中遇到一個比較復雜的要求,需要對“數據表”工作表中B列(戶口編號)、D列(戶主姓名)進行查重操作,希望在查詢到重復的戶主信息之后,將相關信息在“校驗信息”工作表A列的空白單元格顯示。我們可以通過VBA代碼實現(xiàn)上述要求:
按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側窗格插入一個空白模塊(如圖8),手工輸入或粘貼如下代碼(相關代碼可關注電腦迷微信回復“201506vba4”獲取下載鏈接)。
代碼中的“[A2:A10000]”表示放置查重信息的區(qū)域,“[A2]”表示起始單元格,也可以根據實際情況重新調整。檢查無誤之后,選擇“文件/關閉并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運行宏,即得(如圖9)。