Excel 1004错误 - 应用程序或对象定义

问题描述 投票:0回答:1

我试着用谷歌搜索一个答案为什么我得到这个,但到目前为止没有任何帮助。表格未受保护。有任何想法吗?谢谢。

Sub category_sums()

Set ws = ActiveWorkbook.Sheets("Test")
ws.Activate

Set MyRg1 = ws.Range("$A$2:$A$582")
Set MyRg2 = ws.Range("$H$2:$H$58")

ws.Range("J17").Formula = "=SumIf((MyRg1,""Auto/Transportation"", MyRg2)"

End Sub
excel vba excel-vba
1个回答
1
投票

您的范围需要相同的长度,从变量连接地址并删除其他括号。在模块顶部使用Option Explicit并声明所有变量。

Option Explicit
Sub category_sums()
    Dim ws As Worksheet, MyRg1 As Range, MyRg2 As Range
    Set ws = ActiveWorkbook.Worksheets("Test")
    ws.Activate

    Set MyRg1 = ws.Range("$A$2:$A$582")
    Set MyRg2 = ws.Range("$H$2:$H$582")

    ws.Range("J17").Formula = "=SumIf(" & MyRg1.Address & ",""Auto/Transportation"", " & MyRg2.Address & ")"

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.