鱼C论坛

 找回密码
 立即注册
查看: 250|回复: 1

VBA卡死

[复制链接]
发表于 2024-12-30 11:03:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
excel的单元格数值变化执行相关sub,但是删除行不执行sub,这个怎么实现?现在删除行就卡死
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2024-12-30 11:14:32 | 显示全部楼层
要在Excel中实现单元格数值变化时执行相关的Sub,但在删除行时不执行,可以使用Worksheet的事件处理程序。以下是一个简单的实现思路:

1. 使用`Worksheet_Change`事件来检测单元格的变化。
2. 在事件中判断变化是否是由于行删除引起的。

以下是一个示例代码,展示如何实现这一点:

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     On Error GoTo ErrorHandler
  3.     Application.EnableEvents = False

  4.     ' 检查是否是单元格数值变化
  5.     If Not Intersect(Target, Me.Range("A1:Z100")) Is Nothing Then
  6.         ' 执行相关的Sub
  7.         Call YourSub
  8.     End If

  9. ErrorHandler:
  10.     Application.EnableEvents = True
  11. End Sub

  12. Private Sub Worksheet_BeforeDelete(ByVal Target As Range)
  13.     ' 在这里可以处理删除行的逻辑
  14. End Sub

  15. Sub YourSub()
  16.     ' 你的Sub代码
  17. End Sub
复制代码


在这个例子中,`Worksheet_Change`事件用于检测单元格的变化,而`Worksheet_BeforeDelete`事件可以用于处理删除行的逻辑。确保在处理事件时禁用事件以防止递归调用导致卡死。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-10 05:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表