VBA将日期更改为月的第一天

时间:2016-04-14 13:07:55

标签: excel vba excel-vba

每周我们会收到一行新数据,这些数据会添加到数据列表的顶部(第5行)。我们只保留每月最新的一行数据,并删除下面的行,除非下一个月example of spreadsheet(在图片中我需要删除下面四月的行)。问题是日期格式化为dd / mm / yyyy的方式,这意味着如果日期与前一行不匹配,那么它就不会删除,即使月份是相同。

到目前为止,我已经获得了在第5行插入新行的代码,我试图将日期更改为该月的第1天(使用'无效的过程或调用&# 39;错误),如果日期匹配,我会得到一个IF声明,然后它会删除第6行。

Worksheets("Weekly Ageing Summary").Rows("5:5").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Worksheets("Weekly Ageing Summary").range("B5").Value = DateSerial(Year(Cells("B5")), Month(Cells("B5")), 1)

If Worksheets("Weekly Ageing Summary").range("B5").Value = Worksheets("Weekly Ageing Summary").range("B6").Value Then
    Rows(6).EntireRow.Delete
End If

这可能不是编写代码的最佳逻辑,但我不熟悉VBA并且不确定如何做到这一点。

提前致谢:)

1 个答案:

答案 0 :(得分:1)

我尝试了你的示例代码并得到了与你相同的错误 - 我认为问题在于你进行细胞参考的方式(细胞(“B5”)而不是细胞(5,2))。

试试这个:

cat nodes.json |jq -c '.nodes[] | select(.nodes[]| contains("Antoniusweg12"))'

希望这有帮助!