我在两列中有相同的日期和时间。现在我想循环第二列的日期和时间,并计算第一列中有多少项(“A1:A10”)大于循环中相应的日期和时间。但计数始终为零(“C1:C10”)。
CountIf with dates and times
Sub countif_datetime()
Dim sheet1 As Worksheet
Dim my_range As Range
Dim i As Integer
Set sheet1 = Worksheets("Sheet1")
Set my_range = sheet1.Range("A1:A10")
For i = 1 To 10
sheet1.Cells(i, 3).Value = WorksheetFunction.CountIf( _
my_range, ">" & sheet1.Cells(i, 2).Value _
)
Next i
End Sub
当我在工作表(“D1:D10”)中使用相同的函数(countif)时,计数就在那里。
我也试着把日期转换成双倍,也不起作用。
1条答案
按热度按时间olhwl3o21#
我无法在我的端重现您的错误,即您的代码对我有效
但由于公式在您的端工作,您可以考虑使用公式方法
或者,使用稍微更一般方法: