2016-11-15 69 views
0

在A列中,日期格式爲「2016年1月」。 F列中有短文本短語。 在J欄我有顏色的名稱。在單元格中比較日期

如果條件滿足列F和A,我試圖改變顏色在列J中。目前,我的代碼忽略A列中的日期條件,並將J列轉換爲「藍色」 。

任何幫助表示讚賞。謝謝。

Sub CompleteKDs() 
For MY_ROWS = ActiveSheet.UsedRange.Rows.Count To 1 Step -1 
    If Range("F" & MY_ROWS).Value = "dog" And Range("A" & MY_ROWS).Value >= (6/1/2016) Then 
     Range("J" & MY_ROWS).Value = "blue" 
    End If 
Next MY_ROWS 

End Sub 
+2

更改日期是#之間的...'#6/1/2016#' – Rdster

+0

工作完美。謝謝 – Kyle

+0

只要記住用這種格式寫成的日期是'#m/d/yyyy#''格式,即使你處於使用dd/mm/yyyy格式日期的地區(**正確的**方式來表示日期!!;))例外情況是#16/3/2016#這樣的日期,Excel會將其解釋爲2016年3月16日,因爲沒有月16日。 – YowE3K

回答

0

Rdster正確回答:更改日期是#之間的...#6/1 /到2016年#

+0

將使用'Format(「6/1/2016」, 「dd/mm/yyyy」)'而不是格式(範圍(「A」和MY_ROWS).Value,「dd/mm/yyyy」)''。只需將dd/mm/yyyy更改爲您的格式,然後確定它們都是按照您的要求格式化的。 – Niclas

+0

@Niclas - 比較兩個已經格式化爲日期的文本字段作爲高階位置不會給出好的結果(例如'format(「6/2/2016」,「dd/mm/yyyy」)> = format(「 2015年9月2日「,」dd/mm/yyyy「)將因爲」06 ....「不是」09 ....「)而成爲」False「。然後將一個字符串轉換爲一個日期(隱式在'Format'的第一個參數中),這樣它就可以使用日期格式格式化爲一個字符串,並可能將其用作日期,這也不是一個好主意。 – YowE3K