EXCEL中到日期后顶置

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:11:16
例如A1单元格日期为2008-3-20,我要设定它60天到期,变成红色,超过60天后变成黄色,这一步我知道用条件格式可以设定,但是该如何将到期的这个单元格自动移到最上面呢.
也就是说该单元格到期后自动变色,而且还按照到期,即将到期进行排序,或者直接把到期的放到最上面也可以,谢谢了.
就是让2008-3-20再加上60天来计算到期日

问题已解决,VBA代码如下:
Sub tty()
Dim i, num As Integer
num = Application.WorksheetFunction.CountA(Range("A:A")) - 1
For i = 1 To num
Cells(i + 1, 6) = Cells(i + 1, 5) + 90
Cells(i + 1, 1).EntireRow.Interior.ColorIndex = 0
If Cells(i + 1, 6) < Date Then Cells(i + 1, 1).EntireRow.Interior.ColorIndex = 44
If Cells(i + 1, 6) = Date Then Cells(i + 1, 1).EntireRow.Interior.ColorIndex = 3
Next i
Range(Cells(2, 1), Cells(num + 1, 255)).Select
Selection.Sort key1:=Range("E2")
End Sub

具体表格已发送到你的邮箱中。

Excel中,没有任何一个表函数可以实现对单元格的移动,删除,插入等类似于手工的操作,只有VBA中的相应语句才能做到。你的这个要求只能通过在
Workbook_Open() 这个事件中插入相应的VBA代码,每工作薄打开时就自动对工作表描扫一次,根据到期的情况来进行移动操作。