每当我将焦点集中到一个特定单元格时,如果该单元格包含小于 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
因为它是工作表代码,所以非常容易安装和自动使用:
- 右键单击 Excel 窗口底部附近的选项卡名称
- 选择查看代码 - 这将打开一个 VBE 窗口
- 粘贴内容并关闭 VBE 窗口
如果您有任何疑问,请首先在试用工作表上尝试。
如果保存工作簿,宏将随之保存。 如果您使用 2003 年以后的 Excel 版本,则必须保存 文件为 .xlsm 而不是 .xlsx
要删除宏:
- 如上所示调出 VBE 窗口
- 清除代码
- 关闭 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/