Excel VBA,将鼠标移动到不同的单元格

标签 excel vba

在 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/

相关文章:

java - 如何在VBA中使用java方法

excel - 检查文件是否下载以恢复代码

string - 应该是VBA中的简单循环程序

excel - 在电脑锁定时在预定时间运行宏

vba - 通过 VBA (Powerpoint) 添加的图片被插入到占位符中

以地址为结果的excel下拉列表

excel - 如何获取不是来自第一个子 XML VBA API 的记录

excel - 如何遍历高级筛选器中的条件?

vba - 偏移/调整先前定义的范围

excel - 特定工作表的列数