在 A 列中,如果 A3 = No,则鼠标光标移动到 F3 即可。 在 A 列中,如果 A4 = 否,则鼠标光标移动到 F4,依此类推。
我似乎无法找出正确的代码或如何正确编写代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) <> "A3" Then Exit Sub
Application.EnableEvents = False
If Target.Value = "No" Then
Range("F3").Select
End If
Application.EnableEvents = True
End Sub
到目前为止,这就是我要让它在一个单元格上工作的方法。
最佳答案
检查Target
是否在A列中,如果是则移至F列中的同一行:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Me.Range("A:A")) Is Nothing Then Exit Sub
If Target.CountLarge > 1 Then Exit Sub
If Target.Value = "No" Then
On Error GoTo SafeExit
Application.EnableEvents = False
Me.Range("F" & Target.Row).Select
End If
SafeExit:
Application.EnableEvents = True
End Sub
请注意,.Select
-ing 不会导致更改事件重新触发,因此,如果您没有 SelectionChange
事件处理程序,则只需禁用事件不想被处决。
关于Excel VBA,将鼠标移动到不同的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72231695/