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

我想插入空单元格的值,这个值自动乘以2。

可能吗?

例如:

我将单元格值设置为2.当我input时,它应该自动变为4。

我怎样才能做到这一点?

你会使用一个事件macros。 这是一个单元格B9的例子

 Private Sub Worksheet_Change(ByVal Target As Range) Dim B9 As Range, rInt As Range Set B9 = Range("B9") Set rInt = Intersect(B9, Target) If rInt Is Nothing Then Exit Sub Application.EnableEvents = False B9.Value = 2 * B9.Value Application.EnableEvents = True End Sub 

因为它是工作表代码,所以安装和自动使用非常简单:

  1. 右键单击Excel窗口底部附近的选项卡名称
  2. select查看代码 – 这会popup一个VBE窗口
  3. 粘贴东西,closuresVBE窗口

如果您有任何疑问,请先在试用工作表上尝试。

如果您保存该工作簿,该macros将与它一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除macros:

  1. 调出上面的VBE窗口
  2. 清除代码
  3. closuresVBE窗口

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件macros(工作表代码)的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

macros必须启用这个工作!

编辑#1:

要处理一系列单元格,请删除原始macros并使用此macros:

 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 

我认为唯一的方法是使用VBA并监听worksheet_change事件

 Private Sub Worksheet_Change(ByVal Target As Range) Target.Value = Target.Value * 2 End Sub 

或者使用“粘贴特殊 – 相乘”由某个单元格。