VBA在今天的日期

时间:2017-01-04 17:38:58

标签: excel vba excel-vba

我在excel上有一个csv文件,该列为~CU。

行继续更新(截至目前为止2606)。

我试图

  1. 删除D列上记录的before today's date所有行
  2. 今天的日期没有输入/文本框/人工输入。
  3. enter image description here

    Sub deleterows()
    lastrow = Cells(Rows.Count, 4).End(xlUp).Row
    For i = lastrow To 2 Step -1
        If Cells(i, 4).Value < *numeric value* Then Rows(i).EntireRow.Delete
    Next i
    End Sub
    

1 个答案:

答案 0 :(得分:6)

对于日期(和货币),始终建议使用Value2代替Value

MSDN:

  

此属性与Value属性之间的唯一区别是   Value2属性不使用Currency和Date数据类型。   您可以返回使用这些数据类型格式化的值   使用Double数据类型的浮点数。

所以你需要做的就是改变这部分If Cells(i, 4).Value < *numeric value* Then

使用此If Cells(i, 4).Value2 < Date Then

如果D列比今天旧,则评估为真。