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

如何将复制的M2:BM6区域粘贴至L列有内容的行(从M7开始)

问题分析与修正代码

你的代码无法正常运行主要有3个核心问题:

  1. AutoFill 是用于填充有规律序列(比如日期递增、数字连续序列)的方法,完全不适合复制固定的多行多列单元格区域到目标范围。
  2. 原代码仅操作了M列,没有覆盖到BM列的完整区域,就算能运行也只会填充M列内容。
  3. 依赖 Select 和 Selection 不仅降低代码效率,还容易因工作表切换、单元格选中状态变化导致错误。

以下是能实现需求的正确VBA代码:

Sub CopyRangeToTargetRows()
    Dim lastRow As Long
    ' 获取L列最后一个非空行的行号
    lastRow = Range("L" & Rows.Count).End(xlUp).Row
    
    ' 直接复制M2:BM6区域到M7开始、对应L列有内容的所有行
    Range("M2:BM6").Copy Destination:=Range("M7:BM" & lastRow)
End Sub

代码说明

  • 先通过 Range("L" & Rows.Count).End(xlUp).Row 定位L列最后一行有内容的行号,确定目标区域的终点。
  • 直接调用 Copy 方法的 Destination 参数,一次性完成多列区域的复制粘贴,无需选中单元格,代码更简洁稳定。

内容的提问来源于stack exchange,提问作者Fábio Francisco Ribeiro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:48:09