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

VBA向表格最后一行插入数据却偏移4行的问题求助

解决Excel VBA插入数据位置错误的问题

嘿,我一眼就瞅出问题出在哪啦!你想在表格最后一行插入新数据,结果跑到第4行之后去了,根源就在你查找最后一行的逻辑上。

原代码的问题

你用Range("A1:Q1").End(xlUp).Row来获取最后一行的行号——这操作是从第一行的A1到Q1单元格向上查找,可第一行已经是表格最顶部了,所以得到的DernLigne永远是1。接着你写Range("A1" & DernLigne),就变成了A11(把"A1"和1拼接起来),如果你的表格刚好有4行数据,那A11自然就在第4行之后啦!

修正后的代码

要正确定位到有数据的最后一行,得从列的最底部往上查找。这里以A列为基准(假设A列每行都有数据,不会有空行),修正后的代码如下:

' ------ FR020 -----
'用于查找最后一行的变量
Dim DernLigne As Long
' 从A列最后一行往上找,获取已有数据的最后一行行号
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
' 要插入新数据,需要在最后一行的下一行,所以行号+1
DernLigne = DernLigne + 1
' 在对应列插入值
Range("A" & DernLigne).Value = "FR020"
Range("D" & DernLigne).Value = "03700"
Range("E" & DernLigne).Value = "59800019FR"

小提示

  • 如果A列可能存在空行,也可以用Cells(Rows.Count, "A").End(xlUp).Row,效果完全一样。
  • 一定要记得加DernLigne = DernLigne + 1哦!因为End(xlUp)找到的是已有数据的最后一行,新数据得插在它的下一行才对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 01:07:49