題記:春節期間,情況特殊,希望大家儘可能待在家裡,靜下心,多學習有用的知識,多提高自己的水平和能力,這才是正道。適當節制自我的各種慾望,誰都逃不過時間的歷練,誰都是命運的行者,誰都是在人生的道路上一步一趨,把生活與工作打理好,不負年華。
今日內容是和大家分享VBA編程中常用的 "積木"過程代碼,這些內容大多是取至我編寫的"VBA代碼解決方案"教程中內容。今日分享的是NO.204-NO.204,內容是:
NO. 204:在VBA代碼中選取更快的單元格操作方法
VBA過程代碼204:在VBA代碼中選取更快的單元格操作方法
Sub mynz ()
Dim arr As Variant
Dim i As Long
Dim t As Date
Dim t1 As String
Dim t2 As String
With Range("A1:A20000")
arr = .Value
Sheets("87").Cells(3, 2) = ""
Sheets("87").Cells(4, 2) = ""
t = Timer
For i = 20000 To 1 Step -1
If Sheets("87").Cells(i, 1) = "VBA" Then
Sheets("87").Cells(i, 1).EntireRow.Delete
End If
Next
t1 = Timer - t
Sheets("87").Cells(3, 2) = Format(t1, "0.00000")
.Value = arr
t = Timer
.Replace "VBA", ""
.SpecialCells(4).EntireRow.Delete
End With
t2 = Timer - t
Sheets("87").Cells(4, 2) = Format(t2, "0.00000")
Range("E1:E20000").Value = arr
Set arr = Nothing
MsgBox "第一次運行時間:" & Format(t1, "0.00000") & "秒" _
& Chr(13) & "第二次運行時間:" & Format(t2, "0.00000") & "秒"
End Sub
代碼解析:MyNZ過程分別使用VBA代碼和使用Replace、SpecialCells方法刪除工作表A列內容為"VBA"的單元格所在的行,最後使用消息顯示運行時間。代碼採用遍歷單元格的方法刪除內容為"VBA"的單元格所在的行。使用Replace方法將內容為"VBA"的單元格替換成空白單元格。使用SpecialCells方法定位到空白單元格後一次性刪除其所在的行。
VBA是實現自己小型辦公自動化的有效手段,我根據自己20多年的VBA實際利用經驗,現推出了四部VBA學習教程,這些是我多年編程經驗的記錄,也是我"積木編程"思想的體現。每一講都是一塊"積木",可以獨立的完成某些或者某類的過程。利用這些可以大大提高自己的編程效率。
第一套:"VBA代碼解決方案"是PDF教程,是VBA中各個知識點的講解,覆蓋了絕大多數的知識點,是初學及中級以下人員必備;
第二套:"VBA數據庫解決方案"是PDF教程,數據庫是數據處理的利器,對於中級人員應該掌握這個內容了。
第三套:"VBA數組與字典解決方案"是PDF教程,講解VBA的精華----字典,是我們打開思路,提高代碼水平的必備。
第四套:"VBA代碼解決方案"視頻教程。目前正在錄製,"每天20分鐘,精進VBA",越早參與,回饋越多。現在錄製到第三冊的124講,以上各教程的代碼都是經過實測,可以拿來即用。
春節期間,情況特殊,大家儘可能待在家裡,多學習有用的知識,多提高自己。
閱讀更多 VBA專家 的文章