2012-04-27 121 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 
相關問題