Excel VBA循环行不工作,运行时错误';1004';
我试图创建一个循环,该循环遍历excel中选定范围内的行,并向每一行输出一个分数,但我在引用for循环中的第一行时遇到了此错误(设置VARIABLE1)。如果我将.Range(“A”)替换为“A2”,那么我会得到一个输出,但自然只会得到第一行。如何使代码循环每一行? 守则: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
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的回答!现在可以了!