vba - #VBA Private Sub Worksheet_Change
问题描述
任何善良的灵魂都可以帮助我,我花了相当多的时间搜索并试图让这两条代码工作,但不能。
有什么办法可以组合这两个片段吗?它们有两个不同的目的。
1.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
If Len(Target) = 10 Then
Range("I" & Target.Row & ":J" & Target.Row & ", K" & Target.Row & ", M" & Target.Row) = "N"
End If
End Sub
2.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 12 And Target.Value = "Y" Then
Target.Offset(0, 1) = Date
End If
End Sub
我很茫然....
解决方案
您可以尝试将其作为一种组合方法:
当您在宏上加载了 worksheet_change 事件时,您需要在进行更改时禁用警报,否则您可能会发现自己处于无限循环中。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Column <> 12 Then Exit Sub
If Len(Target) = 10 Then
Application.EnableEvents = False
Range(Cells(Target.Row, "I"), Cells(Target.Row, "K")) = "N"
Range("M" & Target.Row) = "N"
Application.EnableEvents = True
End If
If Target.Column = 12 And Target.Value = "Y" Then
Application.EnableEvents = False
Target.Offset(0, 1) = Date
Application.EnableEvents = True
End If
End Sub
推荐阅读
- java - 如何以编程方式在eclipse java中重命名文件时取消绑定键盘快捷键F2
- java - 当嵌套 JSON 中出现相同的字段名称时,将 JSON 解析为 java 对象
- mysql - 如何在 SQL 中获取一个常量值
- google-app-maker - 使用 Google 网上论坛获取访问权限 - 不起作用
- javascript - 显示当前日期以及额外的 30 天计算 - JS
- php - 提交 Multipart/form-data 后不获取 POST 变量
- nativescript - 如何使用 Visual Studio Online/Azure 开发操作工具为 nativescript 设置 CI/CD
- django - 如何在 django 中上传和查看图像
- wpf - How can I connect TriangleIndices(a.k.a. Triangles)?
- c# - 在 ASP MVC 5 中添加新视图时出现问题