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

VBA中Range对象Copy方法报错:参数数量错误或属性赋值无效

解决VBA复制表格时的"Wrong number of arguments or invalid property assignment"错误

我看了你的宏代码,出现这个错误主要是几个小细节问题导致的,下面帮你逐一修正并解释:

核心错误点拆解

  • 未定义的变量answ:你代码里用了If Not answ Is Nothing Then,但answ从来没声明也没赋值,这完全是笔误,应该替换成你实际获取的target变量。
  • Copy方法参数使用错误:table.Copy , shA.target这种写法逻辑混乱,target已经是用户选择的Range对象,不需要加shA.前缀;而且Copy方法的目标参数要么直接传入对象,要么用Destination参数明确标注,不能用逗号分隔的错误格式。
  • Range引用未绑定工作表:Set table = shA.Range(Cells(1, 2), Cells(i, 15))里的Cells没有绑定到shA工作表,如果当前激活的不是"User sheet comp data",会导致引用错位,必须改成shA.Cells。
  • 隐式声明变量隐患:shA没有显式声明,虽然VBA允许隐式声明,但显式声明能避免很多莫名其妙的错误,是良好的编程习惯。

修正后的完整代码

Sub PasteMacro()
    Dim target As Range ' 修正变量类型为Range,更贴合实际用途
    Dim i As Long
    Dim table As Range
    Dim weight As Double
    Dim thickness As Double
    Dim Stiff As Double
    Dim shA As Worksheet ' 显式声明工作表变量
    
    Set shA = ActiveWorkbook.Worksheets("User sheet comp data")
    
    ' 搜索表格中第一个非0行,加入防无限循环判断
    i = 19
    Do Until shA.Range("M" & i) <> 0
        i = i - 1
        If i < 1 Then
            MsgBox "未找到非0数据行"
            Exit Sub
        End If
    Loop
    MsgBox shA.Cells(i, 13).Address ' 绑定shA确保地址正确
    
    ' 要复制的表格:绑定shA.Cells避免跨工作表引用错误
    Set table = shA.Range(shA.Cells(1, 2), shA.Cells(i, 15))
    
    weight = shA.Range("O20").Value ' 显式写.Value让代码逻辑更清晰
    thickness = shA.Range("M20").Value
    Stiff = shA.Range("M21").Value
    
    On Error Resume Next
    ' 请用户选择粘贴表格的目标单元格
    Set target = Application.InputBox(Prompt:="Please select a destination Cell where you want to paste", Type:=8)
    On Error GoTo 0
    
    ' 判断用户是否选择了有效目标
    If Not target Is Nothing Then
        ' 正确使用Copy方法的目标参数
        table.Copy Destination:=target
    End If
End Sub

额外优化说明

  • 把target的类型从Variant改成Range,避免类型不匹配的潜在问题;
  • 在循环中加入i < 1的判断,防止M列1到19行全为0时出现无限循环;
  • 读取单元格值时显式加上.Value,让代码可读性更强,逻辑更明确。

这样修改后,你的宏就能正常复制表格到用户选择的目标单元格了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:22:28