180天后自动删除单元格并移动行

时间:2018-07-01 18:20:47

标签: excel vba

感谢您抽出宝贵时间阅读我的问题。我到处都看过了,我无法找出有关如何实现目标的代码。

enter image description here

我正在寻找一个代码,以在180天后自动删除单元格,并将行中的其余内容移过来。例如:我在D9单元格中有一个日期,该日期突出显示为蓝色,并且距今天的日期已经过去180天...我希望它自动删除并将剩余的行详细信息移到左侧的2个单元格中。因此,D9和E9将自动删除,并将F9移至D9,依此类推。请让我知道是否合理。再次感谢您抽出宝贵时间审查我的问题。

1 个答案:

答案 0 :(得分:1)

如果通过“自动删除”来表示您希望它在每次打开工作簿时都运行,则可以执行以下操作:

1)打开工作簿:

2)按住“ Alt”键并按“ F11”以打开VBA编辑器

3)在左侧的项目浏览器中,在“ Microsoft Excel对象”下,双击“ ThisWorkbook”。

4)将以下代码粘贴到编辑器中:

Sub Workbook_Open()


    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    If CDate(ws.Range("D9")) < DateAdd("d", -180, Now) Then
        ws.Range("D9, E9").Delete Shift:=xlToLeft
    End If


End Sub

5)保存并关闭工作簿

您还可以将相同的代码(不包括子行和结束子行)添加到您正在运行的任何现有宏中,并且它将与该其他宏一起执行。如果通过“自动删除”来表示您希望它发生而无需打开工作簿。您可以使用Windows中的“任务计划程序”来打开工作簿并根据预设的计划运行代码。

如果这回答了您的问题,请记住标记为已回答,这样每个人都会知道您有解决方案。如果这样不能解决您的问题,请告诉我为什么不这样做,我会尽力帮助您。