2014-04-13 84 views
-1

我有2列,ColumnA包含日期(例如3/15/2014)和ColumnB的公式爲ColumnA+30(例如=$A1+30)。Excel VBA爲過期日期添加條件格式

我需要做的是通過VBA添加一個條件格式,其中ColumnB如果它的值(這是一個日期)小於今天的日期,它將變爲紅色。

基本上ColumnA是用於「製造日期」和ColumnB是「過期日期」,應該是製造後30天。目標是在ColumnB已經過期的情況下將紅色單元格變成紅色。條件格式必須通過VBA代碼添加。

我試圖錄制一個宏,但結果很糟糕。

Sheet2.Range("K2:L" & Sheet2.UsedRange.Rows.Count).FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, _ 
    Formula1:="=""Today()""" 
Sheet2.Range("K2:L" & Sheet2.UsedRange.Rows.Count).FormatConditions(Sheet2.Range("K2:L" & Sheet2.UsedRange.Rows.Count).FormatConditions.Count).SetFirstPriority 
With Sheet2.Range("K2:L" & Sheet2.UsedRange.Rows.Count).FormatConditions(1).Interior 
    .PatternColorIndex = xlAutomatic 
    .Color = 255 
    .TintAndShade = 0 
End With 
Sheet2.Range("K2:L" & Sheet2.UsedRange.Rows.Count).FormatConditions(1).StopIfTrue = False 
+0

告訴我們請將當前的代碼 –

+0

我的代碼可能很難理解,但你去那裏,我重視它。它不完全是ColumnA和ColumnB,而是一個更復雜的例子。 – Jay

回答

0

試試這個:

Sub test() 
    'change Sheet2 to suit 
    With ThisWorkbook.Worksheets("Sheet2").Range("B:B").FormatConditions 
     .Add Type:=xlExpression, Formula1:="=AND(B1<>"""",B1<TODAY())" 
     With .Item(.Count) 
      .Interior.Color = 255 
      .SetFirstPriority 
     End With 
    End With 
End Sub