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

时间:2015-02-20 18:31:01

标签: excel vba date excel-vba excel-formula

我不能为我的生活让这个工作。

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

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

我现在想要找到i c.Valuer范围内的行i = Application.Match(c.Value, r, 1) 。我这样做是用

r

在这一行中我收到'运行时错误'13':输入不匹配',我的猜测是因为c.Value中的单元格有自定义格式,或者因为{中没有日期{1}}。

我怎样才能让它发挥作用?还有其他方法可以将c.Value放置在r范围内吗?

代码:

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之前,我将其用于在函数中使用它之前。

1 个答案:

答案 0 :(得分:1)

解决:

我不知道Excel会将日期和时间视为数字,因此在将c.Value保存为函数之前将其作为Double类型保存时,我可以使用它。