当前位置: 代码迷 >> VBA >> EXCEL怎么实现这个功能
  详细解决方案

EXCEL怎么实现这个功能

热度:8622   发布时间:2013-02-26 00:00:00.0
EXCEL如何实现这个功能
请教高手:
如何实现以下两个功能,请给出VBA代码
1、excel中第1、2列为日期,要求第二列的日期减第一列的日期后,如果相差为3个月以内,则第四列对应行的颜色自动变为红色
第一列        第二列
2009-10-20     2010-01-30

2、excel中第1、2列为日期,要求第二列的日期减第一列的日期后,假如相差5个月(以月份作为基数),则从第二列开始向后移动5列(即第7列)颜色变为红色并写上“下一次”的字样


------解决方案--------------------------------------------------------
VB code
Sub test()    Dim lRow As Long, lRowCount As Long    lRowCount = Cells(Rows.Count, 1).End(xlUp).Row    For lRow = 1 To lRowCount        If Cells(lRow, 2) - Cells(lRow, 1) < 90 Then            Cells(lRow, 4).Interior.Color = vbRed            MsgBox Month(Cells(lRow, 2))            MsgBox Month(Cells(lRow, 1))        ElseIf Month(Cells(lRow, 2) - Cells(lRow, 1)) = 5 Then            Cells(lRow, 2).Offset(0, 5).Interior.Color = vbRed            Cells(lRow, 2).Offset(0, 5).Value = "下一次"        End If    Next lRowEnd Sub
------解决方案--------------------------------------------------------
dim rowIndex as integer
rowIndex =Month(Cells(lRow, 2) - Cells(lRow, 1))
Cells(lRow, 2).Offset(0, rowIndex ).Interior.Color = vbRed
Cells(lRow, 2).Offset(0, rowIndex ).Value = "下一次"
  相关解决方案