Excel VBA循环行不工作,运行时错误';1004';

Excel VBA循环行不工作,运行时错误';1004';,vba,excel,loops,for-loop,Vba,Excel,Loops,For Loop,我试图创建一个循环,该循环遍历excel中选定范围内的行,并向每一行输出一个分数,但我在引用for循环中的第一行时遇到了此错误(设置VARIABLE1)。如果我将.Range(“A”)替换为“A2”,那么我会得到一个输出,但自然只会得到第一行。如何使代码循环每一行? 守则: Dim rng As Range Dim Final_risk_score Set rng = Worksheets("sheet name").Range("A1:Z100") For Each Row In rng.R

我试图创建一个循环,该循环遍历excel中选定范围内的行,并向每一行输出一个分数,但我在引用for循环中的第一行时遇到了此错误(设置VARIABLE1)。如果我将.Range(“A”)替换为“A2”,那么我会得到一个输出,但自然只会得到第一行。如何使代码循环每一行? 守则:

Dim rng As Range
Dim Final_risk_score
Set rng = Worksheets("sheet name").Range("A1:Z100")

For Each Row In rng.Rows
    VARIABLE1 = Worksheets("sheet name").Range("A")
    VARIABLE2 = Worksheets("sheet name").Range("K")
    VARIABLE3 = Worksheets("sheet name").Range("J")
    VARIABLE4 = Worksheets("sheet name").Range("W")
    VARIABLE5 = Worksheets("sheet name").Range("G")
    VARIABLE6 = Worksheets("sheet name").Range("N")
    VARIABLE7 = Worksheets("sheet name").Range("X")
    VARIABLE8 = Worksheets("sheet name").Range("Y")
    VARIABLE9 = Worksheets("sheet2").Range("N7")

    Final_score = Score_calculations(VARIABLE1, VARIABLE2, VARIABLE3, VARIABLE4, VARIABLE5, VARIABLE6, VARIABLE7, VARIABLE8, VARIABLE9)
    Worksheets("sheet name").Range("Z").Value = Final_score
Next Row

将循环更改为:

Dim myRow As Range
For Each myRow In rng.Rows
    With Worksheets("sheet name")

        VARIABLE1 = .Range("A" & myRow.Row)
        VARIABLE2 = .Range("K" & myRow.Row)
        'etc
    End With
Next Row

因此,只要正确引用范围,它就可以工作。

将循环更改为:

Dim myRow As Range
For Each myRow In rng.Rows
    With Worksheets("sheet name")

        VARIABLE1 = .Range("A" & myRow.Row)
        VARIABLE2 = .Range("K" & myRow.Row)
        'etc
    End With
Next Row

因此,只要正确引用范围,它就可以工作。

首先不要将行用作变量。使用类似于
Rw
的方法

然后将
.Range(“A”)
更改为:

 .Cells(Rw.Row,"A") 
对所有范围都这样做。该范围必须附加一行

你也可以这样做:

 .Range("A" & Rw.Row) 
因此:


首先,不要将Row用作变量。使用类似于
Rw
的方法

然后将
.Range(“A”)
更改为:

 .Cells(Rw.Row,"A") 
对所有范围都这样做。该范围必须附加一行

你也可以这样做:

 .Range("A" & Rw.Row) 
因此:


什么是错误1004?你试过什么?一个
范围
需要的不仅仅是
“A”
-它需要类似
“A1”
的东西,谢谢@ScottCraner的回答!现在可以了!什么是错误1004?你试过什么?一个
范围
需要的不仅仅是
“A”
-它需要类似
“A1”
的东西,谢谢@ScottCraner的回答!现在可以了!