嗨,我对公式和excel相当新,但这是我遇到的问题之一。
我一直在使用2个条件格式化公式,如下所示
=INDIRECT("I"&ROW())="Del"
=INDIRECT("I"&ROW())="Sum"
如果第一个公式只是突出显示行灰色,如果del位于该行的I列中,是否还有一种方法可以将其更改,如果该行中的列H为0,则将K列设为0?
对于第二个公式,它也根据该行的给定列中的和输入突出显示另一个颜色的行,是否也可以更改该行的K列以匹配给定行的H列的值。
我知道它们会相似,但是我需要这样做,所以如果我的列有“del”并且该行的H列为零,则公式1只会将给定行中的K列归零。
对于第二个公式,如果“sum”在I列中,则值只会在给定行的列k中发生变化。除非实施这些更改,否则任何其他内容都需要保持未格式化。
我无法在相关单元格中添加公式,因为这些单元格被一个按钮点击事件覆盖,该事件将数据输入到该字段中。
任何信息,赞赏,公式或VBA。
答案 0 :(得分:1)
a)使用=$I2="Del"
而不是INDIRECT(其中2
是条件格式适用范围的第一行,例如 = $ A $ 2:$ Z $ 9999 ,或插入条件格式时,范围中第一个选定单元格的行)
b)如果您可以使用不会被覆盖的新列,则此新列中的公式可以是:
=if(and(I2="Del";H2=0);0;if(I2="Sum";H2;K2))
P.S。:如果您的Windows>使用,
代替;
控制面板>地区和语言>其他设置...>列表分隔符设置为逗号
答案 1 :(得分:0)
只需相应地调整偏移量即可更改所需的列。
Dim firstCell As Range
Dim FoundCell As Range
Dim lastrow As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "H").End(xlUp).Row
With Range("H2:H" & lastrow)
Set FoundCell = .Find(What:="3")
Set firstCell = FoundCell
Do Until FoundCell Is Nothing
'.offset(0,-1) would be the same row in Column "G"
FoundCell.Offset(0, -1).Value = 0
'if you wanted to assign the same value then do this:
' FoundCell.Offset(0, -1).Value = FoundCell.Value
Set FoundCell = .FindNext(FoundCell)
If FoundCell.Address = firstCell.Address Then
Exit Do
End If
Loop
End With
End With