2015-05-11 22 views
2

我有一個工作表,有兩列,可能會更新與用戶輸入。第一個是百分比,第二個是美元價值。Excel計算將反映在多列

如果用戶編輯第一列並輸入百分比,我希望第二列用適當的美元值進行更新。但是,如果他們去改變美元價值,我想要更新百分比列。

我有這個工作,只需在單元格中使用計算;但是,如果值發生更改,則公式會被輸入的值破壞。

我希望用戶能夠輸入美元值,更新百分比,然後有能力修改百分比並更新美元值。

這可能嗎?

任何幫助和指導都將不勝感激!

謝謝!

+0

什麼的美元和百分比對應?您可以使用'Worksheet_Change'事件中的代碼來處理兩列中的輸入,但是沒有樣本數據,我不確定我可以做更多事情。 – Soulfire

+0

我假設你有一個計算一旦另一個值已知的美元/百分比的公式?如果是這樣,您可以使用'Worksheet_Change'事件來替換其他單元格,像@JoshuaRoss建議的那樣使用正確的公式。我個人只會通過添加兩列來處理這個問題。這給出了兩列用於輸入(其中僅使用1)和2用於根據所提供的輸入計算的輸出。 –

回答

3

這會爲你工作,你將需要更改爲適當的範圍,以及改變配方,

Sub Worksheet_Change(ByVal Target As Range) 
    Dim cell As Range 
    Set cell = Range("A2:B100") 
    If Not Application.Intersect(cell, Range(Target.address)) Is Nothing Then 
     If Target.Column = 1 Then ' Value in first column changed 
      Range("B" & Target.Row).Value = 2 * Range("A" & Target.Row).Value 
      Exit Sub 
     ElseIf Target.Column = 2 Then ' value in second column changed 
      Range("A" & Target.Row).Value = 1/2 * Range("B" & Target.Row).Value 
      Exit Sub 
     End If 
    End If 
End Sub 
+0

這正是我所需要的。謝謝。只要注意我將來陷入無限循環的未來讀者。 'Application.EnableEvents = False Application.EnableEvents = True' 需要分別設置在代碼的開始和結束位置。 – Matt

+0

歡迎您,如果您滿意,請接受答覆作爲答覆 – Jeanno