如下表格,若透過人工將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 

以上為程式碼
 

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

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

 

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


arrow
arrow

    黑天使 發表在 痞客邦 留言(0) 人氣()