VBA动态追加数据求助:将Sheet1指定区域数据追加到FinalData
优化后的VBA代码实现动态追加数据
录制的宏依赖Select操作,不仅效率低,还无法自动定位到FinalData的最后空行。下面是适配你需求的代码,能自动把Sheet1的C2:P2数据追加到FinalData的最后一行:
Sub AppendDataToFinal() Dim sourceSheet As Worksheet Dim targetSheet As Worksheet Dim lastTargetRow As Long ' 定义工作表对象,减少冗余调用 Set sourceSheet = ThisWorkbook.Sheets("Sheet1") Set targetSheet = ThisWorkbook.Sheets("FinalData") ' 定位FinalData中A列最后有数据的行,加1即为要粘贴的空行 lastTargetRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row + 1 ' 直接赋值,比复制粘贴更高效稳定 targetSheet.Cells(lastTargetRow, "A").Resize(1, 14).Value = sourceSheet.Range("C2:P2").Value End Sub
代码说明:
- 用工作表对象替代
Select操作,避免切换工作表的冗余步骤,运行更稳定 - 通过
Rows.Count和End(xlUp)动态定位最后空行,无论已有多少数据都能准确追加 - 直接赋值的方式跳过剪贴板,运行速度更快,还能避免剪贴板内容干扰
内容的提问来源于stack exchange,提问作者Krishna
相关产品推荐
相关产品推荐

