You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求优化VBA代码:完成X列单元格输入后跳转至E列下一行空白单元格

解决Excel自动跳转需求:X列输入完成后跳至E列下一行

我明白你的需求啦——每次在X列的单元格输完内容,就自动跳到E列的下一个对应行(比如X6输完跳E7,X7输完跳E8)。你原来的宏是固定选中E7,自然没法动态跟着输入行走,咱们换个思路,用工作表变更事件来实现自动触发,代码逻辑改成动态判断位置就好~

实现步骤

  1. 打开你的Excel文件,右键点击需要实现这个功能的工作表标签(比如Sheet1),选择「查看代码」。
  2. 在弹出的VBA编辑器里,粘贴下面这段代码:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' 只处理X列(第24列)的单个单元格修改
    If Target.Column = 24 And Target.Cells.Count = 1 Then
        ' 计算要跳转的E列单元格:当前X列行号+1
        Dim targetCell As Range
        Set targetCell = Me.Range("E" & Target.Row + 1)
        
        ' 滚动到目标单元格并选中
        targetCell.Select
        ActiveWindow.ScrollRow = targetCell.Row
    End If
End Sub

代码说明

  • Worksheet_Change事件:只要这个工作表里的单元格内容被修改,就会自动触发这段代码,不用手动去运行宏。
  • Target.Column = 24:判断修改的单元格是不是在X列(X是Excel里的第24列)。
  • Target.Row + 1:拿到当前X列单元格的行号,加1就是要跳转的E列行号,完美匹配你要的X6→E7、X7→E8的逻辑。
  • targetCell.Select:选中目标E列单元格,ScrollRow确保窗口滚动到能看到这个单元格的位置。

测试一下

现在回到工作表,在X6输入任意内容回车,你会发现光标自动跳到E7;在X7输完内容,光标又会跳到E8,完全符合你的需求~

内容的提问来源于stack exchange,提问作者user1786430

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 13:32:43