[工作術] 運用錄製巨集,新手也能嘗試寫出簡單的Excel自動化程式(213/365)

這篇文章是要讓大家知道,身為一個文組腦,邏輯又很差的人,也是可以靠自己的力量,透過「錄製巨集」的功能,開始嘗試撰寫簡單的excel自動化程式。

前情提要

記得剛開始工作的時候,菜鳥新人第一件要學的事情,就是把資料庫的raw data整理好,放到可以呈現給客戶看的樣板裡面,清理raw data的時候,有一個步驟是要把所有的空白格取代成一個space鍵,這樣左邊欄位的文字才不會無限延伸往右邊的格子跑去。

前輩教我的方法(大家執行了好幾年的作法)是,在每一個欄位篩選blank的格子,然後一個一個按空白鍵,如果資料數量很少就算了,偏偏這些raw data有超過20幾個欄位,上千萬筆資料,新人小菜鳥一開始每天幾乎有一半的上班時間,都在做這件事情。上班不到一週,我就已經受不了,因為這種手動作業不僅費時、空虛,還容易出錯,非常懷疑公司真的付薪水讓我們來做這樣的事情?

因此我上網搜尋「how to search blank cell in excel」,以及「how to replace multiple cell with one value at once 」,發現這一切其實可以用兩個簡單的步驟就達成,我把步驟寫成簡單的說明書之後,整個團隊都驚訝不已,原來大家每天花了一大堆時間在做的事情,可以這麼容易被解決。

在Excel和Word尋找特殊字元的功能在這篇文章[工作術] 能用鍵盤就不用滑鼠,常用快捷鍵分享 (131/365)分享過。

幫助新手寫巨集的好幫手「錄製巨集」

然而,面對這些整理raw data的工作,我還是希望能找出更有效率、更節省時間的作法,因此最近。開始研究Excel的巨集Macro以及VBA如何撰寫。我今天成功嘗試出一個VBA能將上述「尋找空白格並且全部取代」的動作一次完成。

步驟如下

點選「開發人員」之後,就會看到「錄製巨集」的功能,在開始動作之前點一下,然後進行動作,做完之後再點一下停止錄製,電腦就會把你剛剛的動作用程式碼的方式記錄下來。結束後點選巨集Macro,就可以看到剛剛錄製的內容,然後再針對程式碼進行編修。

記得一個原則,一次只錄製一個動作。例如,我這次要進行的動作可以分成兩個步驟

  1. 選取所有「有資料」的工作表範圍 → 運用google搜尋,找到下列程式碼 ActiveSheet.UsedRange.Select
  2. 搜尋特殊字元(空白格)並全部取代成空白鍵(space)→ 運用錄製巨集的功能,紀錄動作。點選錄製之後,要先幫巨集命名,然後開始動作,結束後停止錄製。完成後再點選巨集Macro功能,並點選編輯(edit),會出現程式碼的畫面,如果想要設定快捷鍵,也可以在這裡設定

以上兩步驟完成了程式碼的蒐集,接著只要在巨集紀錄的程式碼最一開始,貼上第一個動作的程式碼即可。完成的程式碼如下

寫到這裡發現自己真的不太擅長寫程式操作的說明文,寫程式對我來說已經困難,何況還要說明如何使用它。但希望透過這樣的分享,能讓像我一樣對於程式感到陌生或懼怕的人,了解其實程式沒那麼難也沒那麼可怕。只要有願意學習的心,以及我們的google大神,慢慢嘗試也能完成一些簡單的程式的。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s