Excel VBA Application.Match 在长时间和自定义格式之间

Excel VBA Application.Match between Long Time and Custom format

我这辈子都做不到。

我有一列 r 的时间值格式为 "yyyy-mm-dd hh:mm:ss.000 AM/PM"(此格式是可以为单元格选择的自定义格式之一)。

我还有一个单元格 c,其中包含格式为“*hh:mm:ss”(第一种时间格式)的时间值。

我现在想查找 ic.Value 行在 r 范围内。我使用

来做到这一点
i = Application.Match(c.Value, r, 1)

在这一行我得到“运行-time error '13': Type mismatch' 我的猜测是因为 r 中的单元格具有自定义格式,或者因为c.Value.

中没有日期

我怎样才能让它工作?有没有其他方法可以让 c.Valuer 范围内的位置?

代码:

Sub test()
Dim r As Range
Set r = Range("A1:A10")
Dim c As Range
Set c = Range("B1")

Dim i As Integer
i = Application.Match(c.Value, r, 1) 'ERROR!

End Sub

已解决:

我不知道 Excel 将日期和时间视为数字,所以我在将 c.Value 保存为类型 Double 之前在函数中使用它时让它工作。

已解决:

我不知道 Excel 将日期和时间视为数字,所以我在将 c.Value 保存为 Double 类型之前在函数中使用它时得到它的工作。