Application.Goto循环

时间:2015-08-17 19:15:51

标签: excel-vba vba excel

我正在尝试构建一个从一个电子表格中复制值并将其粘贴到另一个电子表格中以进行分析的函数。一切都达到“US_CAD_EquipCharges1”,但随后我收到运行时错误1004“该命令不能用于多个选择”。

以下是代码,我无法弄清楚这意味着什么。

Sub CrewRates()

    Application.Goto reference:="CAD_NU_CrewRates"
    Selection.Copy
    Sheets("Summary").Select
    Range("B4").Select
    ActiveSheet.Paste

    Application.Goto reference:="US_NU_CrewRates"
    Selection.Copy
    Sheets("Summary").Select
    Range("E4").Select
    ActiveSheet.Paste

    Sheets("_6a_US_CAD_Conventional").Select
    Application.Goto reference:="NDE_Regions"
    Selection.Copy
    Sheets("Summary").Select
    Range("B2").Select
    ActiveSheet.Paste

    Application.Goto reference:="US_CAD_EquipCharges1"
    Selection.Copy
    Sheets("Summary").Select
    Range("I4").Select
    ActiveSheet.Paste

    Application.Goto reference:="US_CAD_EquipCharges2"
    Selection.Copy
    Sheets("Summary").Select
    Range("I4").Select
    ActiveSheet.Paste

    Application.Goto reference:="US_CAD_EquipCharges3"
    Selection.Copy
    Sheets("Summary").Select
    Range("I4").Select
    ActiveSheet.Paste

    Sheets("_6a_US_CAD_Conventional").Select
    Application.Goto reference:="NDE_Regions"
    Selection.Copy
    Sheets("Summary").Select
    Range("I2").Select
    ActiveSheet.Paste


    Call VendorNames
        Columns("A:H").Select
        Columns("A:H").EntireColumn.AutoFit


End Sub

1 个答案:

答案 0 :(得分:0)

我认为"US_CAD_EquipCharges1"是一张由纸张绝望范围组成的命名范围。

无法复制由较小的绝望范围组成的范围,例如不同的范围,例如一个块是3行,另一个是5行。为避免错误,您需要调整命名范围,使其成为单个单元格块。

我有一个名为ourRangeX的命名范围,定义为this = Sheet3!$ F $ 8:$ G $ 11,Sheet3!$ J $ 6:$ K $ 8

运行正常

Sub foo2()
Range("ourRangeX").Select
End Sub

这失败

Sub bar2()
Range("ourRangeX").Select
Range("ourRangeX").Copy
End Sub

您可以编辑命名范围US_CAD_EquipCharges2,使其符合上述规则吗?