我在excel VBA中遇到了range.find方法問題。Range.find與excel VBA不兼容
我有兩張牀單。 表A具有如下格式(月是不規則的間隔):
Dec-1997
Dec-1999
Dec-2000
Dec-2001
Dec-2002
Dec-2003
Dec-2004
Dec-2005
Dec-2006
Mar-2007
Dec-2007
Dec-2008
Dec-2009
Dec-2010
Dec-2011(a)
Dec-2013
Dec-2014
表B具有其中的日期被佈局在每季度定期間隔像下方的列A。
Jun-2011
Sep-2011
Dec-2011
Mar-2012
Jun-2012
Sep-2012
Dec-2012
Mar-2013
Jun-2013
Sep-2013
Dec-2013
Mar-2014
Jun-2014
Sep-2014
Dec-2014
我希望我的VBA代碼的每個項目,在片A迭代,並查找表B.相關的行號
下面是我的代碼片段:
Sub sSearch(arr As Variant, j As Integer, rngSearch As Range, ws As Worksheet)
Dim wsWrite As Worksheet
Set wsWrite = ThisWorkbook.Sheets(1) ' Sheet B
Dim rngResult As Range
Dim intRows As Integer
Dim rngRow As Range
Dim strDate As String
For i = 0 To UBound(arr)
Set rngResult = rngSearch.Find(arr(i), LookIn:=xlValues)
intRows = rngResult.End(xlDown).Row - rngResult.Row ' determine number of rows in Sheet A
For k = 1 To intRows '
strDate = Left(rngResult.Offset(k).Text, 9)
set rngRow = wsWrite.Range("A:A").Find(What:=strDate, LookIn:=xlValues)
wsWrite.Cells(intRow, i + j).Value = arr(i)
wsWrite.Cells(intRow, i + j).Value = _
ws.Cells(_
rngResult.End(xlDown).Row, _
rngResult.End(xlToRight).Column).Value
Next
Next
End Sub
我得到在以下行錯誤
set rngRow = wsWrite.Range("A:A").Find(What:=strDate, LookIn:=xlValues)
我試過了我能想到的一切,包括尋找thro呃微軟文檔,在這裏搜索,但沒有運氣。 即使我可以看到存儲在strDate中的值是該表的單元格A2中的值,rngRow仍然不返回任何內容。 任何幫助,將不勝感激。謝謝!
嗨Chinwobble, 當一個值被發現時宏會做什麼? –
如果不知道單元的實際值,很難修復。因爲它可能是格式化爲自定義格式的真實日期。 – Sixthsense