excel - Excel 单元格有 GotFocus 事件吗?

标签 excel vba

每当我将焦点集中到一个特定单元格时,如果该单元格包含小于 2 的值,则该单元格中的内容应乘以 60。

顺便说一句,我可以通过使用导航键或单击一个特定单元格或任何其他内容将焦点集中到一个特定单元格。

例如,我将焦点集中到一个值为 1.5 的特定单元格。然后,我的 VBA 程序应该自动将该单元格值与 90 转换为 60*1.5=90。

我不太了解 Excel 编程。由于公司安全政策,我无法打开大多数网站。

任何人都可以帮我解决这个问题吗?

最佳答案

假设有问题的单元格是单元格B9。将以下事件宏放入工作表代码区域:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim B9 As Range
    Set B9 = Range("B9")
    If Intersect(Target, B9) Is Nothing Then
    Else
        If B9 < 2 Then B9 = 60 * B9
    End If
End Sub

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

  1. 右键单击 Excel 窗口底部附近的选项卡名称
  2. 选择查看代码 - 这将打开一个 VBE 窗口
  3. 粘贴内容并关闭 VBE 窗口

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

如果保存工作簿,宏将随之保存。 如果您使用 2003 年以后的 Excel 版本,则必须保存 文件为 .xlsm 而不是 .xlsx

要删除宏:

  1. 如上所示调出 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要了解有关宏的更多一般信息,请参阅:

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

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

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

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

必须启用宏才能使其工作!

关于excel - Excel 单元格有 GotFocus 事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46648345/

相关文章:

vba - 动态公式或vba将垂直列表偏移一,并将列表底部移动到顶部?

excel - 引用一个数字生成单元格中 "(x,y)"数据的个数

excel - 使用 excel-VBA 操作 Ms Paint

excel - 打开对话框默认为指定的网络路径(不是驱动器)

arrays - Excel VBA : What is the Maximum Number of String Elements that can be Stored in an Array

excel - 当 Word 未打开时,从 Excel 模板创建 Word 文档

vba - 在 VBA 中处理一个集合的嵌套 For 循环

java - 生成新的 Excel,同时保留模板 Excel 文件中的旧公式

Excel ScreenUpdating False 并且屏幕仍然闪烁

vba - 编写包含比较运算符 "="的表达式作为子例程参数