2012-04-27 167 views
0

嗨我对公式和excel相当陌生,但这是我遇到的问题之一。基于其他单元格/行输入更改特定单元格中的值

我已经使用2个条件格式公式如下

  1. =INDIRECT("I"&ROW())="Del"

  2. =INDIRECT("I"&ROW())="Sum"

当第一公式简单地强调了行灰度如果德尔是在我该行的列,是否还有一种方法让它改变,如果该行中的列H为0,则K列为0?

对于第二个公式,该公式还突出显示该行另一种基于该行给定列中的总和输入的颜色,还可以将该行的K列更改为与给定行的H列值相匹配。

我知道他们会是相似的,但我需要做到这一点,所以如果我的列有“del”并且该行的H列有零,那么公式一将只给出给定行中的K列。

对于第二个公式,如果“总数”在I列中,那么这些值只会在给定行的列k中发生变化。除非实施这些更改,否则还需要保持未格式化。

我无法为有问题的单元格添加公式,因为这些公式会被输入数据的按钮单击事件覆盖到此字段中。

任何信息赞赏,公式或VBA。

+0

条件格式只能改变单元格的格式;它不能更改公式或值。由于K中的值经常被覆盖,因此不能依赖工作表公式。你需要一个VBA解决方案。 – Excellll 2012-04-27 13:15:05

+0

截至目前,Col K的细胞如何填充?它是空的吗?它是否有任何默认数据?它有任何公式吗? – 2012-04-27 13:58:45

+0

目前没有数据,但通常会在工作表中的其他位置输入数据并单击填充此行的按钮来填充该数据。 – user1361149 2012-04-27 16:06:13

回答

1

一)使用=$I2="Del"代替INDIRECT(其中2在该范围中的第一行的条件格式适用于,例如= $ A $ 2:$ Z $ 9999产品,或该范围的首先选择单元的行当要插入的条件格式)

b)如果你可以使用不会被覆盖的新列,在这个新的列公式可以是:

=if(and(I2="Del";H2=0);0;if(I2="Sum";H2;K2)) 

PS:使用,代替如果您的Windows> Control,则为;面板>区域和语言>附加设置...>列表分隔符设置为逗号

+0

谢谢,正如所述,这个字段将一直填充数据,因为行从工作表的另一部分从数据输入填充,然后点击一个按钮,然后填充所述行。这重复1 - 比如500行。问题是需要锁定2列末端列,这就是为什么当问题单元格发生更改时需要更改值。对不起,如果我没有清楚地说明这一点 – user1361149 2012-04-27 16:14:58

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 
相关问题