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