我想使用vba代碼在另一個工作表中搜索一個值並返回行號,以便可以用一個字符串填充相鄰的單元格。問題是「findrow」返回空白。當我嘗試運行並將鼠標懸停在該部分上時,「.find(findrng)」顯示爲14/01/17。VBA查找函數不工作
如果我將Findrng更改爲諸如「Home」之類的單詞並在文件中輸入此代碼返回正確的行數,所以這個問題必須與日期。任何人都可以使用.Find的日期幫助?
Private Sub Enter_Click()
Dim FindWor As Range
Dim Findrng As String
Dim FindRowNumber As Long
Findrng = Me.Date1
With Worksheets("Data").Range("$A:$A")
Set FindWor = .Find(what:=Findrng)
FindRowNumber = FindWor.Row
.Cells(FindRowNumber, 2).Value = Me.Event1
End With
End Sub
感謝
史蒂芬
我不明白你是什麼問題,但你可以改變你的變量名稱查找.. –
我編輯了信息,我的問題是findrow在運行代碼時是空白的。當我走出VBA並手動嘗試查找信息時,它已經填充到查找框中。這可能是日期問題嗎?數據選項卡的列A基本上是從01/01/17開始的兩年的日期 –
嘗試'Set FindWor = .Find(what:= Find)'。此外,我建議不要使用'Find'作爲變量名稱,因爲它是Excel中的函數,使用類似'findRng'的東西... – BruceWayne