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

如何引用最后一行复制C到M列指定单元格区域(非整行)

问题原因

你当前代码使用了EntireRow属性,会复制完整行数据,和你指定的C~M列范围尺寸不匹配,自然会出现不兼容报错。

修正方案

去掉EntireRow调用,改为指定要复制的列数即可,示例代码如下:

' 定位C列最后一个非空单元格,上移1行作为复制起始位置
Dim copyStartCell As Range
Set copyStartCell = wscopy.Cells(wscopy.Rows.Count, "C").End(xlUp).Offset(-1)

' 选中2行、11列的区域(C列到M列共11列,需要10列可把11改为对应数值)
copyStartCell.Resize(2, 11).Copy

' 粘贴到目标位置示例,按需修改目标工作表和起始单元格即可
' wsDest.Range("A1").PasteSpecial xlPasteAll

' 【推荐更高效率写法,不占用剪贴板】直接赋值
' wsDest.Range("A1").Resize(2, 11).Value = copyStartCell.Resize(2, 11).Value

补充说明

  • 复制区域的行列数需要和粘贴的目标区域行列数完全一致,即可避免不兼容问题
  • 可额外增加边界判断逻辑,避免C列非空单元格行数不足导致Offset(-1)报错的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:18:04