0
我有一個簡單的問題,我無法解決。在A列的Excel工作簿中,我有一組日期。從這組日期我想查找特定的日期(最近的日期)並報告日期的行號。我可以設法找到日期而不是行號。什麼是迄今爲止我所做的是:錯誤在VBA中使用WorksheetfFnction.match
Option Base 1
Option Explicit
Sub Macro()
Dim maxdate As Date
Dim k As Integer
Dim row As Integer
maxdate = WorksheetFunction.Max(Range("A:A"))
If maxdate < VBA.Date And maxdate > 0 Then
row = Application.WorksheetFunction.Match(maxdate, Range("A:A"), 0)
k = row
End If
If maxdate = 0 Then
k = 0
End If
End Sub
當代碼包含行「行= Application.WorksheetFunction.Match()」執行VBA報告錯誤:運行時錯誤「1004」:無法獲取工作表函數類的匹配屬性。
但是,報告了正確的maxdate。我很欣賞任何輸入?
BR,加斯帕
也許最好是'Dim row As Variant'並使用Application.Match代替,它可以代替如果未找到搜索字符串,則返回一個錯誤值。然後你可以測試'If IsError(row)...'來處理異常。 –
@DavidZemens好主意!.....................使用**。Find()**方法會有什麼好處嗎? –
另外值得注意的是,如果'行'是整數,這取決於錶行的大小,這可能會引起溢出錯誤:) –