close
如下表格,若透過人工將0全部刪除,是需要一些時間的。
若資料量大到200列50欄,扣掉第一列的抬頭與第一欄的說明,資料高達9750筆,逐筆去刪除是要花非常久的時間,甚至可能誤刪資料。
所以有人提出要怎麼快速的把數值0刪除,黑天使這邊立用VBA寫了幾行程式碼,來完成這個需求,以下就來跟各位分享。

 

[六欄十列的資料]

此次用六欄十列的資料進行說明,若資料量更大時可以於程式內進行修正即可。

 

 
[插入模組] 

 

 
[於模組內撰寫程式碼]
以下為程式碼

Sub CAL0()
Range("A1").Select        資料的起始的位置,本範例為資料起始位置為儲存格A1,可是資料內容進行修改
For X = 1 To 6             ‘從儲存格A1,開始預計掃描的欄數
For Y = 1 To 10             從儲存格A1,開始預計掃描的 列數
If ActiveCell(Y, X) = 0 Then 假設該儲存格=0,也可以設定文字或符號或其他數值
ActiveCell(Y, X) = ""        ‘該欄就變成空白

Else                      不然的話

End If                    就結束 if
Next Y                    跳下一列,此範例列會掃描至儲存格第三十列,三十列掃完才會跳下一欄。
Next X                    跳下一欄,此範例列會掃描至儲存格第六欄。
End Sub 

以上為程式碼
 

[插入一個圖片,然後指定巨集]

回到活頁簿,插入一個圖形,於圖形上按右鍵 [指定巨集] ,選取剛剛建立好的模組,按下確定,圖形名稱本範例取名 [執行]

 

 
[按下剛剛的執行紐,即可執行]

文章標籤

VBA 程式 EXCEL 刪除 特數值 符號 文字 FOR 迴圈 雙重迴圈 資料 activecell 巨集 欄數 if 列數


本文出自: https://junshienwu.pixnet.net/blog/post/327195270-%5bvba%5d-%e6%8a%8a%e8%a1%a8%e6%a0%bc%e5%85%a7%e7%
arrow
arrow
    全站熱搜