For 循环范围不起作用:参数数量错误或 属性 赋值无效

For Loop range not working: Wrong number of arguments or invalid property assignment

我有以下代码扫描原始数据列表和每一行,如果 date 和 var(我定义的一个变体)是正确的,则该行被复制并放置到正确的目的地。复制行的这一行被注释掉了。宏有效,但我现在尝试(在注释掉的 .copy 行上方的 2 行中)不是复制整行,而是仅复制行中的特定单元格(iRow 和 M、N 列中的单元格, O、Q、R、U、V、AB)。我收到错误消息:参数数量错误或 属性 赋值无效。我知道这与我输入的 2 行新代码有关,因为之前代码运行良好。感谢任何帮助,谢谢!

Sub currentMonthDetail()

Dim csCount As Range
Dim b As Variant
Dim shrow As Long
Dim iRow As Long, iRowL As Long, var As Variant, iDate As Variant
Dim bln As Boolean
Dim s As String
Dim eRow As Integer
Dim i As Integer

'Import monthly data from GL008 tab to detail-----------------------------------------------------------------

Set csCount = Worksheets("Input").Range("csCount")

Sheets("GL008").Activate

iRowL = Cells(rows.count, 1).End(xlUp).Row

For iRow = 2 To iRowL
    Sheets("GL008").Activate
    If Not IsEmpty(Cells(iRow, 35)) Then
        bln = False
        var = Application.Match(Cells(iRow, 35).Value, Worksheets("Input").Columns(3), 0)
        iDate = Sheets("GL008").Cells(iRow, 34)
        If Not CVErr(var) = CVErr(xlErrNA) And iDate = Worksheets("Input").Range("E3") Then
        Sheets("GL008").Activate
        Range("M" & iRow, "N" & iRow, "O" & iRow, "Q" & iRow, "R" & iRow, "U" & iRow, "V" & iRow, "AB" & iRow).copy
        'Sheets("GL008").rows(iRow).copy
        s = Sheets("GL008").Cells(iRow, 35)
        Sheets(s).Activate
        eRow = Sheets(s).Cells(rows.count, 1).End(xlUp).Offset(1, 0).Row
        ActiveSheet.Paste Destination:=Sheets(s).rows(eRow)
        End If
    End If


Next iRow

您正在将大量单元格传递给 Range。当您尝试这样做时,它会寻找左上角的起始单元格和右下角的结束单元格,然后从一个到另一个进行矩形选择。

因为您试图给它 8 个单独的 参数,它无法处理。您需要给它 1 个参数,其中包含单元格列表;将它们全部合并为一个字符串,然后将该字符串作为一个参数传递给范围。

即将逗号 放入 文本中。

Range("M" & iRow & ",N" & iRow & ",O" & iRow & ",Q" & iRow & ",R" & iRow & ",U" & iRow & ",V" & iRow & ",AB" & iRow).copy