2013-08-05 145 views
0

我在Excel中對VBA很陌生,我已經試過尋找我的問題了。使用當前的單元格值來計算並在單元格中替換

我想根據單元格的值計算答案,並在宏執行時讓計算值替換當前值。例如,如果A2的初始值爲30,我也想用A2 = 3代替A2,以使A2讀取90作爲其新值。

有沒有辦法做到這一點,而不必複製和粘貼其他地方的所有東西?

感謝您的任何幫助。

+0

是的。這是可行的。你可以使用'Worksheet_Change'事件,但這可能更麻煩。我會提出一個不同的方法,需要你運行宏。 –

回答

1

嘗試類似這樣的事情。首先,確保您已選擇至少一個單元格,然後從宏菜單運行宏:

Sub MultiplyBy30() 
Dim rng as Range 
Dim cl as Range 

Set rng = Range(Selection.Address) 

For each cl in rng.Cells 
    If IsNumeric(cl.Value) And Len(cl.Value) > 0 Then 
    cl.Formula = "=" & cl.Value & "*30" 
    End If 
Next 

End Sub 
+0

現在它顯示的是123 * 30而不是3690的字符串。感謝以前的快速反應。 – user2653797

+0

我做了一個編輯(可能在你第一次嘗試之後)在公式中包括'「=」'。這應該解決它:) –

+0

謝謝!這是完美的。希望你有美好的一天;希望你今天過得很開心! – user2653797

相關問題