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

Excel录入数值后自动跳转下一行空行的宏功能实现咨询

实现Excel数值录入自动跳转下一行的VBA解决方案

直接修改你已编写的宏代码,加入动态定位空行的逻辑即可实现需求,完整可直接复用的代码示例如下:

Sub 数值自动录入()
    Dim valA As String, valB As String, valC As String, valD As String
    Dim targetRow As Long
    
    ' 以下为弹窗取值逻辑,可直接替换为你现有弹窗的取值代码
    valA = InputBox("请输入A列对应数值:", "录入第一个值")
    If valA = "" Then Exit Sub ' 点击取消直接退出宏
    valB = InputBox("请输入B列对应数值:", "录入第二个值")
    If valB = "" Then Exit Sub
    valC = InputBox("请输入C列对应数值:", "录入第三个值")
    If valC = "" Then Exit Sub
    valD = InputBox("请输入D列对应数值:", "录入第四个值")
    If valD = "" Then Exit Sub
    
    ' 核心逻辑:定位A列最后一个非空行,取其下一行作为目标写入行
    targetRow = Cells(Rows.Count, "A").End(xlUp).Row + 1
    ' 兼容空表场景,保证首次录入从第2行开始
    If targetRow < 2 Then targetRow = 2
    
    ' 将值写入对应行的A-D列
    Cells(targetRow, "A") = valA
    Cells(targetRow, "B") = valB
    Cells(targetRow, "C") = valC
    Cells(targetRow, "D") = valD
End Sub

适配说明

  • 如果你原有弹窗是用户窗体一次性获取4个值,只需保留上述代码中targetRow的计算逻辑和单元格赋值逻辑,替换掉弹窗取值部分即可
  • 原有星形形状的宏绑定不需要修改,直接替换宏代码内容即可生效
  • 如果需要录入后自动选中下一行待录入位置,可在代码末尾追加一行Cells(targetRow + 1, "A").Select

内容的提问来源于stack exchange,提问作者AmirHossein K.Baghery

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:06:03