vba如何替換單元格公式?Excel中查找和替換是一個基本功能,Range對象有一個很好的方法可以解決這個問題,我來為大家科普一下關于vba如何替換單元格公式?以下内容希望對你有幫助!
Excel中查找和替換是一個基本功能,Range對象有一個很好的方法可以解決這個問題。
想要得到這個結果,用到一個方法.Replace
語法:
Range.Replace(What、Replacement、 LookAt、 SearchOrder、 MatchCase、 MatchByte、 SearchFormat、 ReplaceFormat)
看上去十分複雜,其實我們用到的并不是十分多。
具體内容可參考如下圖片,詳細介紹。
No.2下面用一個例子來簡單說明一下。
本着解決問題的目的,利用一個查找姓名并更改的功能,做了如下表格。
可以看到上圖,有一個按鈕控件,一個文本框控件,下面是個人信息表 。
單擊按鈕執行查找姓名,并更改為文本框内容。這處把所有的姓名全改為文本框内容了,為了更好地表達編程意圖,這麼做也了,當然,在實際應用中隻能改一個。
實際上這個功能是查找B3單元格内容,然後把和B3姓名相同的全更改為文本框内容。
按鈕代碼:
Private Sub ChangeName()
Dim s As Worksheet
Set s = ThisWorkbook.ActiveSheet
Dim r As Range, ro As Long, Rchr As String, xStr As String
xStr = vba.Trim(Me.TextBox1.Value)'文本框内容
Set r = s.Range("B3:B10")'定義查找區域
Rchr = r.Item(1)'定義要查找的姓名
With r
.Replace Rchr, xStr'替換姓名為文本框内容
With .SpecialCells(12).EntireRow'返回
.Interior.Color = RGB(21, 211, 112)
.Borders.Item(xlEdgeBottom).LineStyle = 1
End With
With .SpecialCells(12).EntireColumn
.Interior.Color = RGB(211, 122, 111)
End With
End With
End Sub
可以看到程序裡還用到一個.Spacialcells方法。
此方法是返回某一類型的Range對象。
在查找過程中返回所有類型的Range,也就是返回R對象的所有單元格,然後再進行一個屬性設置。
Spacialcells方法語法:
Range.specialcells(Type, Value)
下圖為type枚舉類型:
比如要返回空單元格的對象,可以用下面代碼:
dim R as Range
set R=Thisworkbook.Activesheet.Range("A1:D10").Specialcells(4)
上面兩行代碼就功能就是返回當前表A1:D10裡空單元格。
找出空單元格之後,就可以做你想做的事情了。
該添加值添加值,該删除就删除。
如對你有幫助歡迎關注、收藏
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!