簡體   English   中英

對象“ _Global”的方法“范圍”失敗

[英]Method 'Range' of object '_Global' failed

我試圖遍歷三個下拉列表中的項目,命名范圍分別為A,B和C。Summary輸出根據所選下拉列表中的項目而變化。 我想復制每個摘要輸出(一個19行乘15列的表)並將其粘貼到新的工作表中(表3)。

例如,如果我在列表A中有3個項目,在列表B中有2個項目,在列表C中有2個項目,那么我總共需要將12個輸出(3 * 2 * 2)粘貼到工作表3中。

運行此代碼時,出現以下錯誤:

對象“ _Global”的方法“范圍”失敗

我將不勝感激! 我是VBA編程的新手,所以我敢肯定有一種更有效的方法可以...

謝謝!

Sub SummarizeData()
    '
    ' SummarizeData Macro
    '

    Dim rngCeded As Range
    Dim rngTF As Range
    Dim rngFX As Range
    Dim LOS As Integer

    Set rngCeded = Range("A")
    Set rngTF = Range("B")
    Set rngFX = Range("C")

    LOS = 19
    For n = 1 To 12
        For Each i In Range("A")
            For Each j In Range("B")
                For Each k In Range("C")
                    Sheets("Summary").Range("SummaryData").Copy
                    Sheets("Sheet3").Range("E5").Offset(i - 1, 0).PasteSpecial Paste:=xlPasteValues
                Next k
            Next j
        Next i
    n = n + LOS
    Next n
    End Sub

由於未指定范圍的來源( Set rng = Range("...") ),因此代碼的結果取決於調用該方法的上下文。

最好調用特定對象的Range方法。 在您的情況下,這可能是一個工作表對象,類似於以下內容:

' ...
Dim MySheet As Excel.Worksheet
Set MySheet = ActiveWorkbook.Sheets("MySheet")
Set rngCeded = MySheet.Range("A") 
' ...

您不能使用大寫和小寫字符“ C”,“ c”,“ R”或“ r”作為定義的名稱,因為當您選擇當前所選單元格的行或列時,它們全部用作速記在“名稱”或“轉到”文本框中輸入它們。

參考

Sub SummarizeData()
    '
    ' SummarizeData Macro
    '

    Dim rngCeded As Range
    Dim rngTF As Range
    Dim rngFX As Range
    Dim LOS As Integer

    Set rngCeded = Range("A")
    Set rngTF = Range("B")
    Set rngFX = Range("D")

    LOS = 19
    For n = 1 To 12
        For Each i In Range("A")
            For Each j In Range("B")
                For Each k In Range("D")
                    Sheets("Summary").Range("SummaryData").Copy
                    Sheets("Sheet3").Range("E5").Offset(i - 1, 0).PasteSpecial Paste:=xlPasteValues
                Next k
            Next j
        Next i
    n = n + LOS
    Next n
    End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM