2014-10-09 106 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