Excel-在空单元格中插入公式
我想在空单元格中插入一个值,该值自动乘以2 可能吗 例如: 我将单元格值设置为2。当我按下回车键时,它应该会自动变为4Excel-在空单元格中插入公式,excel,excel-formula,Excel,Excel Formula,我想在空单元格中插入一个值,该值自动乘以2 可能吗 例如: 我将单元格值设置为2。当我按下回车键时,它应该会自动变为4 我该怎么做?我认为唯一的方法是使用VBA并收听工作表更改事件 Private Sub Worksheet_Change(ByVal Target As Range) Target.Value = Target.Value * 2 End Sub 您将使用事件宏。下面是单元格B9的示例 由于它是工作表代码,因此安装和自动使用非常容易: 在Excel窗口底部附近的选项卡名称上
我该怎么做?我认为唯一的方法是使用VBA并收听工作表更改事件
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = Target.Value * 2
End Sub
您将使用事件宏。下面是单元格B9的示例
由于它是工作表代码,因此安装和自动使用非常容易:
在Excel窗口底部附近的选项卡名称上单击鼠标右键
选择查看代码-这将打开一个VBE窗口
粘贴内容并关闭VBE窗口
如果您有任何顾虑,请先在试用工作表上试用
如果保存工作簿,宏将与工作簿一起保存。
如果在2003年以后使用Excel版本,则必须保存
文件的格式为.xlsm而不是.xlsx
要删除宏,请执行以下操作:
如上所述打开VBE窗口
清除代码
关闭VBE窗口
要了解有关宏的更多信息,请参阅:
及
要了解有关事件宏工作表代码的详细信息,请参阅:
必须启用宏才能使其工作
编辑1:
要处理一系列单元格,请删除原始宏并改用此宏:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim B9 As Range, rInt As Range, r As Range
Set B9 = Range("B2:M14")
Set rInt = Intersect(B9, Target)
If rInt Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In rInt
r.Value = 2 * r.Value
Next r
Application.EnableEvents = True
End Sub
或者使用“特殊粘贴”-乘以某个单元格。有效。谢谢如果我需要一个以上的手机怎么办。Like=B2:M14@加里s@BrunoSousa见我的编辑1谢谢。。还有一件事。我尝试了=H2:K14;N2:N14,不起作用。我是否只需要改变这个部分@加里的
Private Sub Worksheet_Change(ByVal Target As Range)
Dim B9 As Range, rInt As Range, r As Range
Set B9 = Range("B2:M14")
Set rInt = Intersect(B9, Target)
If rInt Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In rInt
r.Value = 2 * r.Value
Next r
Application.EnableEvents = True
End Sub