如何看出excel修改內容
NO。1
單元格內容查詢是個十分重要的操作方法,無論什麼樣的表格都會或多或少遇到。
VBA提供了一個方法,用來進行單元格內容查詢替換。
掌握這個方法,會使你的操作事半功倍。
下面做一個詳細介紹:
NO。2
方法:
Range。Replace(What、Replacement、 LookAt、 SearchOrder、 MatchCase、 MatchByte、 SearchFormat、 ReplaceFormat)
具體引數看下圖
Replace英文解釋:代替; 取代; (用…) 替換; (以…) 接替; 更換; 更新,是個動詞。
很顯然就是替換的意思。
它有一個返回值,是布林型。
NO。3
簡單做了個示例,效果還可以,基本達到了替換目的,執行速度很快。
示例中有兩個文字框,分別為要查詢的內容和替換的內容。
一個下拉框,代表了在哪一列查詢。
一個功能按鈕,執行查詢。
如此就可以實現,在某一個列查詢某一個值進行替換操作。
類似於應用程式功能中的修改,希望把某個值修改為新的值,這方面應用起來,真的很方便。
以前程式設計進行修改都是將一個值和單元格值進行比較,然後進行修改,使用Replace方法就不用做迴圈比較了,節省不少程式碼,至於執行的效率,那要看資料量增加之後的結果了。
有興趣可以試一下。
NO。4
示例中,程式碼也不多,可以看到這樣做的目的其實也達成,而且程式碼量少了很多。
查詢替換功能程式碼
Private Sub ChangeRangeValue()
Dim Svalue As String, Cvalue As String, Ci As Long
Svalue = VBA。Trim(Me。TextBox1。Value)‘查詢內容
Cvalue = VBA。Trim(Me。TextBox2。Value)’替換內容
Ci = Me。ComboBox1。Value‘設定列號
If VBA。Len(Svalue) = 0 Or VBA。Len(Cvalue) = 0 Or VBA。Len(Ci) = 0 Then Exit Sub
Dim Cboolen As Boolean
Cboolen = Range(Me。Cells(3, Ci), Me。Cells(Me。UsedRange。Rows。Count, Ci))。 _
Replace(what:=Svalue, _
replacement:=Cvalue, _
lookat:=xlWhole, _’全部匹配
searchorder:=xlByRows, _‘行搜尋
MatchCase:=False)’不區分大小寫
MsgBox “替換成功!”, vbInformation, “成功”
End Sub
有了Replace方法來對資料進行查詢修改,感覺以前做的一些迴圈查詢真的是多餘,很多程式碼要進行編寫,然後要對比,根據對比結果進行修改或不修改。
真的是有點傻瓜行為,用了這個方法就可以免去太多的條件設定。感覺微軟就是把使用都當傻瓜來對待,你只要按照引數進行設定,其餘的事情由微軟來做。
這樣做似乎提高了不少效率,但是對於其工作原理就可能被忽略了。
不管怎麼樣,簡單操作總是一種很理想的辦法,也是我們在工作當中追求的狀態。
——-END——-
歡迎關注、收藏