02.02 更快,提高VBA代碼選取更快的單元格操作方法

題記:春節期間,情況特殊,希望大家儘可能待在家裡,靜下心,多學習有用的知識,多提高自己的水平和能力,這才是正道。適當節制自我的各種慾望,誰都逃不過時間的歷練,誰都是命運的行者,誰都是在人生的道路上一步一趨,把生活與工作打理好,不負年華。

今日內容是和大家分享VBA編程中常用的 "積木"過程代碼,這些內容大多是取至我編寫的"VBA代碼解決方案"教程中內容。今日分享的是NO.204-NO.204,內容是:

NO. 204:在VBA代碼中選取更快的單元格操作方法

更快,提高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

更快,提高VBA代碼選取更快的單元格操作方法

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代碼選取更快的單元格操作方法

VBA是實現自己小型辦公自動化的有效手段,我根據自己20多年的VBA實際利用經驗,現推出了四部VBA學習教程,這些是我多年編程經驗的記錄,也是我"積木編程"思想的體現。每一講都是一塊"積木",可以獨立的完成某些或者某類的過程。利用這些可以大大提高自己的編程效率。

第一套:"VBA代碼解決方案"是PDF教程,是VBA中各個知識點的講解,覆蓋了絕大多數的知識點,是初學及中級以下人員必備;

第二套:"VBA數據庫解決方案"是PDF教程,數據庫是數據處理的利器,對於中級人員應該掌握這個內容了。

第三套:"VBA數組與字典解決方案"是PDF教程,講解VBA的精華----字典,是我們打開思路,提高代碼水平的必備。

第四套:"VBA代碼解決方案"視頻教程。目前正在錄製,"每天20分鐘,精進VBA",越早參與,回饋越多。現在錄製到第三冊的124講,以上各教程的代碼都是經過實測,可以拿來即用。

春節期間,情況特殊,大家儘可能待在家裡,多學習有用的知識,多提高自己。


分享到:


相關文章: