excel - 如何通过激活子 Worksheet_Change(ByVal Target As Range) 修复非目标单元格
问题描述
我的电子表格有目标单元格和单元格,我希望能够在没有工作表更改激活或运行的情况下输入手动数据。如何允许在不运行私有子系统的情况下填充这些打开的用户单元格?更多信息示例代码。有许多类似的代码段采用相同的格式。
Private sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = True
If Intersect(Target, Range("$B$8:$k$9")) Is Nothing Then
GoTo NEXT10
'Application.EnableEvents = False
End If
Application.EnableEvents = True
MsgBox Target.Address
'-------------------------------------------------------------------
'Application.EnableEvents = True
Application.EnableEvents = False
If Target.Address = "$B$8" Then
If Target.Value >= 0 Then
Range("B9") = Range("B8").Value * 42
End If
ElseIf Target.Address = "$B$9" Then
Range("B8") = Range("B9").Value / 42
End If
Application.EnableEvents = True
End Sub
问题是,如果我在工作表上的任何空单元格中输入、删除值或文本,它会激活 . 如果没有更改,Worksheet_Change (ByVal Target ....)
我会使用If Intersect(Target,Range($B8$:$k$8) Is Nothing
绕过目标。此格式用于其他重要的目标范围。但我不明白为什么当任何单元格更改时程序运行?可以避免这种情况,以便可以执行各种手动输入吗?例如文本注释、标签等。Next10 是另一段代码的开始,但目标地址不同。如果指示的目标地址没有相交,则检查下一个相交。
解决方案
推荐阅读
- javascript - Tempus dominus:将呈现的日期格式与表单提交时发送的实际值解耦
- mysql - 如何使用 JDBC 和 Google Apps 脚本连接到特定数据库
- python - Python PyQt - 删除选定的表行,如果未选择行,则删除错误的行
- ndef - 带有 NTAG 5 增强的 NDEF 能力容器解码
- vba - 如何为每个填充的行循环我的代码?
- windows - RabbitMQ 在 Windows Server 2016 中不起作用
- php - 如何在数组中仅匹配一个用户名和密码
- javascript - 函数未在 Hook 中执行
- arcgis - 瓷砖和数据使用与功能服务之间的区别
- angular - 如何在茉莉花的ElementRef中按类模拟元素