首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

EXCEL怎么实现这个功能

2012-03-09 
EXCEL如何实现这个功能请教高手:如何实现以下两个功能,请给出VBA代码1、excel中第1、2列为日期,要求第二列的

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 = "下一次"

热点排行