Excel-在空单元格中插入公式

Excel-在空单元格中插入公式,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窗口底部附近的选项卡名称上

我想在空单元格中插入一个值,该值自动乘以2

可能吗

例如:

我将单元格值设置为2。当我按下回车键时,它应该会自动变为4


我该怎么做?

我认为唯一的方法是使用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