0

我习惯Selection.Row = 1Exit Sub

Range("B1")但是如果正在使用,我需要代码继续

知道怎么做吗?提前致谢。

4

2 回答 2

0

理想情况下,您应该完全避免Selection。但是对于您提出的问题

  1. 测试选择是否包含第 1 行。
  2. 如果是,则运行第二个测试,测试是否B1包含在 中Selection,如果是,则代码退出,如果不是,则代码继续。

最好在代码范围内将两个必须满足的单独测试分解为单独的测试,首先测试最常见的早期测试退出。And如果第一个条件已经失败,这比运行和测试第二个条件更有效。

代码

Sub TestExit()
Dim rng1 As Range
If Not Intersect(Rows(1), Selection) Is Nothing Then
Set rng1 = Intersect(Selection, [b1])
If rng1 Is Nothing Then Exit Sub
End If
End Sub
于 2012-12-25T11:07:45.203 回答
0

If Selection.row = 1 And Selection.Column <> 2 Then Exit Sub

于 2012-12-25T12:55:00.207 回答