2013-08-05 118 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

相关问题