基于在同一行的第一列中具有任何文本的列的条件格式

时间:2011-09-22 19:31:24

标签: excel vba excel-2007

我不确定如果不使用VB就可以实现这一点,但我试图通过条件格式化来实现。基本上我有一个列(列K),如果在该行中输入了记录,它将始终是相同的值(345)。基本上,当我填充报表时,如果该行中有任何数据,我只想将值(345)输入到列K中。我试图只使用A列作为参考。我在弄=IF(ISTEXT(Col.A location),"345",""),但那无处可去。所以,我正在寻找vba以外的想法,但如果没有可能,那么我认为vba是可行的方式。 :)

3 个答案:

答案 0 :(得分:1)

假设您的数据位于A到J列,并且它从第2行开始,请在K2中输入并根据需要进行复制:

=IF(COUNTA(A2:J2),345,"")

编辑:对于条件格式化公式,您不需要“If”部分,因为格式化已经...条件:

= COUNTA(A2:J2)

答案 1 :(得分:0)

这会有用吗?

=IF(ISBLANK(A1),"","345")

答案 2 :(得分:0)

此代码用于判断A列中是否包含某些内容COUNTA(INDIRECT(“$ A $”& ROW()))> 0,但我不认为您可以设置值单元格使用条件格式。但是使用条件格式化时,您必须提前知道数据将要走多远,除非您将其放在所有行中。

为什么不在复制时将它放在你的VBA代码中,你可以找到最后一行然后放入IF()公式。你可以使用这段代码:

Dim r1 As Range
Set r1 = Range("K1")
r1.NumberFormat = "General"
r1 = "=IF(COUNTA(INDIRECT(""$A$""&ROW())>0,""345"","""")"
r1.AutoFill Destination:=Range(r1, r1.Offset(200))