VBA如何批次刪除空白列 - 會計

Lauren avatar
By Lauren
at 2017-01-14T16:04

Table of Contents

VBA如何批次刪除空白列

網誌圖文版:

http://www.b88104069.com/archives/4153

稍具規模的公司,應該都已經導入ERP系統,會計人例行工作所需要的資料
,全都由系統撈報表出來。系統報表會有個問題,預設格式是準備列印使用
的,可能有許多空行,但往往,我們所需要的只是明細資料,那些空行非但
達不到列印美觀的效果,反而是造成處理上的不方便。因此實務上,每下一
次系統報表,必須得再刪一次空行,每次這樣「再來一次」也是挺煩的,在
此介紹如何以VBA批次刪除空行:

一、系統跑出來的應付帳款明細,有小計加總的空行、也有翻頁保留的空行
。這樣的報表並不方便操作Excel。

二、組合鍵「Alt+F11」快速進入VBA,輸入如下程式,白話翻譯每句代碼
:選取「系統報表」工作表的使用範圍,對於所選取範圍的儲存格格式,背
景填滿黃色。

三、組合鍵「Alt+F8」快速叫出巨集,「執行」、「使用範圍標黃色」。

四、結果如圖所示,這樣應該很容易理解「UsedRange」的意思。

五、輸入第二段程式,白話翻譯每句代碼:定義一個整數值的變數「r」,
計算出目前工作表使用範圍的總列數,把這個等同於「r」,然後在儲存格
「I1」呈現出「r」值。

六、再度組合鍵「Alt+F8」快速叫出巨集,「執行」剛才的新增程序「使
用範圍列數」。

七、果真於「I1」出現了「16」,有興趣可以數看看標黃色是否真的是16列
,或者因為資料第一列開始,直接看最左邊的列數欄即可。

八、輸入第三段程式,白話翻譯每句代碼:變數「i」以降冪方式從16列到1
列,如果第「1」欄第「i」是空白(""),那麼刪除此「i」列,結束「If
」,回去跑下一個「i」循環,結束程序。

九、再度呼叫巨集:「開發人員」、「巨集」,可以看到目前有三組程序巨
集了,「執行」剛才的新增程序「刪除空白列」。

十、結果很漂亮,一點也不馬虎!

關於這篇文章的程式碼,有些需要補充的。第一段的「Worksheets("系統
報表")」,是指定某個確定的工作表語法,也就是直接將工作表頁籤寫上
,但是到了第二段,寫法是:「ActiveSheet」,表示是目前操作中的工作
表,兩種語法都正確,但是用法不錯,以會計實務來說,顯然「
ActiveSheet」是比較方便的。第二段還有個「Dim r As Integer」,這是
指定變數的類型,和正負幾位小數相比,整數所佔空間當然小了許多,所以
雖然這裡不指定也不會造成錯誤,但還是應該要養成定義適當變數類型的習
慣。第三段之所以選擇降冪方式,有刪除一整行的讀者,應該都知道Exel會
往上遞補,箇中玄機便在於此。

摸熟了這篇文章,應能體會如果只是要刪除空行,毋須這麼複雜,這裡特地
寫了三段程式,是想利用此範例順帶介紹VBA程式碼的優質寫法,留待下節
分享。


延伸閱讀:

VBA如何控制表單輸入防止錯誤

http://www.b88104069.com/archives/4152

VBA如何輸入控制測試資料

http://www.b88104069.com/archives/4150

VBA如何另存檔案備份

http://www.b88104069.com/archives/4149

--


周末,我們繼續Excel:精華區=>21.心得=>5.其他=>3.office

會計人的Excel小教室: https://www.facebook.com/acctexcel


--
Tags: 會計

All Comments

Yuri avatar
By Yuri
at 2017-01-17T04:09
推 謝謝分享 最近很需要學會VBA...

有關存貨損失

Daniel avatar
By Daniel
at 2017-01-14T11:37
http://i.imgur.com/FlHUQXK.jpg http://i.imgur.com/4ahUeXR.jpg 請問x6年銷貨成本我算出來為33500 在減10000減1500 答案應為22000 為何老師的答案為20500 是不是我的方法不對 - ...

106年鄭泓基礎課程講義

Delia avatar
By Delia
at 2017-01-14T10:41
最近開始從頭補鄭泓老師的中會課程 手邊有去年的講義 但今年基礎課程新增一章合夥會計 因為是旁聽生 講義要1.5頁計價Q__Q 想徵求基礎課程第一回講義 感激不盡T__T 或是可以借我印最後一章嗎0.0 另外... 想請問高點高考會計台北面授班的中會講義發到第幾回了呢 買 ...

售 志光/學儒/保成/超級函授尊榮禮卷

Oscar avatar
By Oscar
at 2017-01-13T22:47
商品名稱:志光尊榮禮卷5000元 交易地區:全國 商品價格:1200(含運) 新舊狀況:有效期限到106/06/30 交易方式:郵寄或蝦皮 聯絡方式:站內信 http://i.imgur.com/xpFsjs8.jpg - ...

金老師課本61號繼續經營單元

Damian avatar
By Damian
at 2017-01-13T17:43
大家好 請教一下 金老師最新課本19-30頁繼續經營單元 2.上市櫃公司繼續經營之能力.... 這段跟公報釋例用的公司不太一樣, 公報是用非公開發行公司做舉例,金老師是用上市櫃 不知道有沒有特殊的原因還是單純舉例不同而已 謝謝大家!! - ...