2014-10-09 166 views
0

特定列。這可能是你專家瑣碎的問題在那裏:選擇基於單元格值

根據上表的最初過濾該特定星期(WK)和下一個輸入(周)一個(WK + 1)。 然後我格式化所有WK + 1單元格變灰。

到目前爲止這麼好。現在是問題。如何更改下面的代碼,使包含WK + 1值的單元格的整行變灰?

ActiveSheet.Range("B5").AutoFilter Field:=1, Criteria1:=WK, Operator:=xlOr, _ 
Criteria2:=(WK + 1) 

With ActiveSheet.Range("$B:$B").FormatConditions _ 
.Add(xlCellValue, xlEqual, "=" & WK + 1) 
With .Font 
.Bold = True 
.ColorIndex = 15 
End With 
End With 

在此先感謝! Mac

+0

所以你想要的文字是灰色的,如果我理解你嗎?爲什麼在'.Formatconditions'之後有一個_? – 2014-10-09 12:01:31

+0

@ Goosebumbs:http://msdn.microsoft.com/en-us/library/ba9sxbw4.aspx – 2014-10-09 12:19:45

+0

不,我知道它做了什麼,但他爲什麼這樣做,爲什麼不.Font在同一行和東西像那個 – 2014-10-09 12:29:47

回答

0

對於xlExpression類型的FormatCondition,這是可能的。 例子:

ActiveSheet.Range("$A:$Z").FormatConditions.Delete 
ActiveSheet.Range("A1").Activate 
With ActiveSheet.Range("$A:$Z").FormatConditions _ 
.Add(Type:=xlExpression, Formula1:="=($B1=" & WK + 1 & ")") 
With .Font 
    .Bold = True 
    .ColorIndex = 15 
End With 
End With 

我刪除條件格式之前,我添加了新的。因爲如果不是這樣,多次調用此代碼將導致多次使用相同條件但可能具有其他WK值的FormatConditions。這是因爲代碼每次運行時都會添加一個新的FormatCondition。

問候

阿克塞爾

+0

非常感謝Axel! – MacX 2014-10-10 05:38:32