再會
我正在使用 VBA Excel 我是一個完整的新手,我對這段代碼有疑問
Sub setEVAFieldValue(pattern As String, fval As Variant)
Dim lrange As Range
Dim lrange2 As Range
Dim lrange3 As Range
Dim rowpos As Integer
Dim colpos As Integer
Set lrange = Worksheets("EVA").Cells.Find(pattern)
If (lrange.Row > 0) Then
rowpos = lrange.Row
colpos = lrange.Column
Worksheets("EVA").Cells(rowpos, colpos 2).value = fval
End If
End Sub
此代碼通常可以正常作業,并找到具有該模式的單元格并將值添加到相鄰的單元格中,沒有任何問題。
但是由于某種原因,當作業表中的另一段代碼執行一些計算并顯示帶有這些計算的表單時,find 不再起作用,并且在該范圍內回傳空值,即使我可以看到其中的單元格帶有圖案的作業表。
有沒有人知道可能發生的事情?
正如這里所要求的,是我尋找的模式示例:“Beta”
和使用的電話:Call setEVAFieldValue("Beta", betaValue)
這是單元格中的值:“5)Beta”
PS>單元格中的值沒有雙引號
uj5u.com熱心網友回復:
從Range.Find檔案:
每次使用此方法時都會保存
LookIn、LookAt、SearchOrder和的設定。MatchByte如果下次呼叫該方法時沒有為這些引數指定值,則使用保存的值。設定這些引數會更改“查找”對話框中的設定,而更改“查找”對話框中的設定會更改在省略引數時使用的保存值。為避免出現問題,請在每次使用此方法時顯式設定這些引數。
否則,在使用 時Find,請始終指定What、LookIn和LookAt引數(以及SearchOrder它們MatchByte是否與您正在執行的查找相關)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524473.html
標籤:擅长vba寻找
