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

我不能为了我的生活得到这个工作。

我有一个格式为“yyyy-mm-dd hh:mm:ss.000 AM / PM”的时间值列(这种格式是可以为单元格select的自定义格式之一)。

我也有一个单元格c包含格式化为“* hh:mm:ss”(第一个时间格式)的时间值。

我现在想找c.Value一行i c.Value是在范围r 。 我这样做使用

 i = Application.Match(c.Value, r, 1) 

在这一行我得到'运行时错误'13':types不匹配',我的猜测是,这是因为r的单元格具有自定义格式,或者因为在c.Value没有date。

我怎样才能使这个工作? 有没有其他的方法,我可以得到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将date和时间视为数字,因此在将函数中的c.Value保存为Doubletypes之前,我已经将其工作了。

解决了:

我不知道Excel将date和时间视为数字,因此在将函数中的c.Value保存为Doubletypes之前,我已经将其工作了。