excel - 当单元格打开并选择另一个工作表时,Workbook_sheetChange 崩溃

标签 excel vba crash

我正在为机器上的运算符(operator)处理 Excel 文件,因此需要对其进行防护。
我在一个特定场景的小错误链接上运行:
当我从我的 Workbook_sheetChange 中编辑指定范围内的单元格时并单击另一张代码崩溃并给出 1004,我知道为什么(错误的对象,因为我生成了一个交叉表 _Global 链接)但我不知道如何避免它。我查看了 Stack 和 google,但没有找到任何东西,而且我有一个 mec engereeing 编程类(class),所以我对对象和事件知之甚少。
这是我的代码:

Sub Workbook_sheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect(Target, Range("C4:C8")) Is Nothing Then 'Si changement dans les cellules "nom employé"

Call Employe ' Appel Macro pour nom automatique

End If
If Not Intersect(Target, Range("U18:V42")) Is Nothing Then

Call tritroughsheets ' Macro tri des temps d'arret

End If

End Sub
在这种情况下,例如,如果 C4 处于编辑模式并且在 Sheet1 中并且运算符(operator)错误地单击了 Sheet2,它将弹出一条错误消息(我们不希望运算符(operator)处理)
我正在寻找像
If(cell is being edited) Then
dont run my stuff till its close
End if
任何想法?
谢谢,(戴口罩)

最佳答案

尝试改变

If Not Intersect(Target, Range("C4:C8")) Is Nothing
和:
If Not Intersect(Target, sh.Range("C4:C8")) Is Nothing 'exactly qualifies/references the range to the sh worksheet...
VBA 尝试在两个不同工作表中的范围之间进行交集。留在工作表中时,Range("C4:C8")指的是(正确的)事件表 .当您从一个单元格移动到另一个工作表时,不改变分析范围内的任何内容 ,事件没有被触发......所以,不是单元格编辑是问题。

关于excel - 当单元格打开并选择另一个工作表时,Workbook_sheetChange 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63015101/

相关文章:

select - Excel 宏 - 选择案例

vba - 强制忽略从ADODB到Excel VBA的错误

Excel VBA - 在 SharePoint 上查找文件的本地文件位置

Android Firebase 在 MessagingAnalytics 中崩溃

crash - 在iOS7中[提示显示]导致应用崩溃

配置服务器问题后 MongoDB 超时

excel - 如何根据标题名称的一部分对数据求和?

excel - 使用VBA选择 "Find"的第二个结果

Excel 2010 VBA 创建 ActiveX ListBox 给出 'Object doesn' t 支持此属性或方法'

excel - 单击事件不适用于以编程方式/动态创建的选项按钮