Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用当前单元格值计算并替换单元格中的值_Excel_Vba - Fatal编程技术网

Excel 使用当前单元格值计算并替换单元格中的值

Excel 使用当前单元格值计算并替换单元格中的值,excel,vba,Excel,Vba,我对excel中的VBA非常陌生,我已经尝试过搜索我的问题了 我试图根据单元格的值计算答案,并在宏执行时将计算出的值替换为当前值。例如,如果A2的初始值为30,我也希望将A2替换为=A2*3,这样A2的新值为90 有没有办法做到这一点,而不必先将所有内容复制粘贴到其他地方 谢谢你的帮助 试试这样的东西。首先,确保至少选择了一个单元格,然后从“宏”菜单运行宏: Sub MultiplyBy30() Dim rng as Range Dim cl as Range Set rng = Range(

我对excel中的VBA非常陌生,我已经尝试过搜索我的问题了

我试图根据单元格的值计算答案,并在宏执行时将计算出的值替换为当前值。例如,如果A2的初始值为30,我也希望将A2替换为=A2*3,这样A2的新值为90

有没有办法做到这一点,而不必先将所有内容复制粘贴到其他地方


谢谢你的帮助

试试这样的东西。首先,确保至少选择了一个单元格,然后从“宏”菜单运行宏:

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

对这是可行的。您可以使用
工作表\u Change
事件,但这可能更麻烦。我将提出一种不同的方法,要求您运行宏。现在它显示123*30,而不是值3690。感谢您早些时候的快速回复。我进行了编辑(可能是在您第一次尝试之后),将
“=”
包含在公式中。这应该可以解决它:)谢谢!太完美了。我希望你有一个伟大的一天!