excel - 如何将两个私有子 Worksheet_Change(ByVal Target As Range) 合并到一个工作表中?
问题描述
免责声明:我对 VBA 很陌生,所以显而易见的事情可能会在我脑海中浮现。
我正在尝试设置 2 列,当它旁边的列仅在该工作表中接收新数据时,它们会自动更新为当天的日期。
我以我有限的知识尝试创建新变量,以便它有两条“线”可供使用,如果这有意义的话,但它完全停止工作。
有什么方法可以“复制”下面的代码,以便当列 P 更新时,列 O 会更新为今天的日期,而当 D 更改时,列 E 也是如此?如果可能,如果 D 中的文本为“N/A”时 E 列没有更新,那就太好了
任何帮助或指针表示赞赏。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("P:P"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
解决方案
您需要进行检查,以便您只有 1 worksheet_change
,但允许根据目标范围进行单独的操作。尝试类似:
Select Case Target.Column
Case 15
'that stuffs
Case 16
'that other stuffs
End Select
edtit1是的,@GSerg,这是真的……更新了
推荐阅读
- javascript - 给我的反应路由器无法读取未定义的位置属性。(反应路由器 dom 版本 5.2.0)
- html - 用于控制R bookdown中数学方程式下方间距的CSS代码
- xml - 使用 deploydeploymentgroup 接收错误消息 [REP_55035] 部署期间发生错误。无法连接到存储库代理
- python - 谁能帮我设置一个 Flutter 'starflut' 文件?
- java - 创建多个ArrayLists,返回函数
- python - 如何仅使用一种功能读取 3 种 XML 文件?
- crystal-lang - 为什么Crystal不能解析1+1的赋值类型?
- python - AttributeError:“列表”对象没有属性“isDisplayed”Python Selenium
- javascript - 是否可以在 JavaScript 中读取 JS 文件?
- javascript - 如何在剧作家中等待 JavaScript 完成