gpt4 book ai didi

excel - VBA:Worksheet_Change - Target.Address 与使用相交

转载 作者:行者123 更新时间:2023-12-04 21:19:17 25 4
gpt4 key购买 nike

我正在成功运行一个包含以下代码的宏:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Or Target.Address = "$B$3" Then
Call MainSub
End If
End Sub

这个 sub 的重点是通过调用 MainSub 使宏生效。当单元格 B1 或 B3 更改时。有用。

但是,在寻找有关如何执行此操作的解决方案时,我也遇到了以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("B1")) Is Nothing Then
Call MainSub
End If
End Sub

它只适用于 B1。

现在我有两个问题:

1)我将如何包含另一个单元格(B3)以检查相交方法?使用 or对我不起作用,所以我认为第一个 if 语句之后的另一个 if 语句可以解决问题,但是有没有更优雅的解决方案?

2)使用 intersect有什么好处? vs 只是看着 Target.Address ?

最佳答案

你可以使用:

If Not Intersect(Target, Range("B1,B3")) Is Nothing Then
Intersect很有用,因为它会在更改多个单元格时使用react。例如,如果用户将数据复制并粘贴到恰好与 B1 和/或 B3 重叠的范围中, Target.Address不会是 $B$1$B$3 , 但是 Intersect仍然可以工作。

关于excel - VBA:Worksheet_Change - Target.Address 与使用相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59458735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com