分享成果,隨喜真能量。大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容大多是取至我編寫的「VBA代碼解決方案」教程中內容。NO.174-NO.175內容是:
NO. 174:如何利用VBA代碼,判斷是否為空表,如果為空表則使用Delete方法刪除
NO. 175:利用VBA的自定義函數,判斷工作表是否存在
VBA過程代碼174:如何利用VBA代碼,判斷是否為空表,如果為空表則使用Delete方法刪除
Sub mynz()
Dim Sh As Worksheet
Application.DisplayAlerts = False
i = 1
For Each Sh In ThisWorkbook.Sheets
If MyIsBlankSht(Sh) Then Sh.Delete: MsgBox "刪除" & i & "個工作表了": i = i + 1
Next
Application.DisplayAlerts = True
MsgBox "共刪除" & i - 1 & "個工作表!"
End Sub
代碼的解析說明:Mynz過程使用自定義的MyIsBlankSht函數刪除工作簿中所有空工作表。
代碼將Application對象的DisplayAlerts屬性設置為False,使刪除時不顯示系統警告對話框。
使用For Each……Next語句遍歷所有工作表,使用自定義的MyIsBlankSht函數判斷是否為空表,如果為空表則使用Delete方法刪除。
VBA過程代碼175:利用VBA的自定義函數,判斷工作表是否存在
Function MyExistSh(Sh As String) As Boolean
Dim Sht As Object
On Error Resume Next
Set Sht = Sheets(Sh)
If Err.Number = 0 Then MyExistSh = True
Set Sht = Nothing
End Function
代碼的解析說明:自定義MyExistSh函數包含一個String類型的參數,代表需要判斷的工作表名稱。如果該工作表存在,則返回True。代碼判斷前面的代碼是否出錯,如果前面的代碼存在錯誤,則表示不存在指定名稱的表。
VBA是實現自己小型辦公自動化的有效手段,我根據自己20多年的VBA實際利用經驗,現推出了四部VBA教程,這些是我多年編程經驗的記錄,也是我「積木編程」思想的體現。每一講都是較大塊的「積木」,可以獨立地完成某些或者某類的過程,有需要的朋友可以聯絡(WeChat:NZ9668)分享。利用這些可以提高自己的編程效率。其一:「VBA代碼解決方案」PDF教程,是VBA中各個知識點的講解,覆蓋了絕大多數的知識點,是初學及中級以下人員必備;其二「VBA資料庫解決方案」PDF教程,資料庫是數據處理的利器,對於中級人員應該掌握這個內容了。其三「VBA數組與字典解決方案」PDF教程,講解VBA的精華----字典,是我們打開思路,提高代碼水平的必備。其四「VBA代碼解決方案」視頻教程。目前正在錄製,「每天20分鐘,半年精進VBA」,越早參與,回饋越多。現在錄製到第三冊的99講。