Vba “范围单元格抛出”;RT错误1004“;
我试图用一个变量来定义一个范围,当我试图得到几百只股票的CoVar矩阵时,我使用了下面的代码。但是,系统抛出RT错误1004Vba “范围单元格抛出”;RT错误1004“;,vba,excel,Vba,Excel,我试图用一个变量来定义一个范围,当我试图得到几百只股票的CoVar矩阵时,我使用了下面的代码。但是,系统抛出RT错误1004 Sub CoVar_Calc() Dim i As Integer Dim j As Integer Dim ArrA As Range Dim ArrB As Range i = 1 j = 1 For i = 1 To 487 ArrA = Range(Sheets(2).Cells(7 + i, 2), Sheets(2).Cells(7 + i, 2
Sub CoVar_Calc()
Dim i As Integer
Dim j As Integer
Dim ArrA As Range
Dim ArrB As Range
i = 1
j = 1
For i = 1 To 487
ArrA = Range(Sheets(2).Cells(7 + i, 2), Sheets(2).Cells(7 + i, 254))
For j = 1 To 487
ArrB = Range(Sheets(2).Cells(7 + j, 2), Sheets(2).Cells(7 + j, 254))
Sheets(3).Cells(j + 1, i + 1) = Application.WorksheetFunction. _
CoVar(ArrA, ArrB)
Next j
Next i
End Sub
当我第一次使用以下代码运行时
For i = 1 To 487
Set ArrA = Sheets(2).Range(Sheets(2).Cells(7 + i, 2), Sheets(2).Cells(7 + i, 254))
For j = 1 To 487
Set ArrB = Sheets(2).Range(Sheets(2).Cells(7 + j, 2), Sheets(2).Cells(7 + j, 254))
Sheets(3).Cells(j + 1, i + 1) = _
Application.WorksheetFunction. _
CoVar(ArrA, ArrB)
Next j
Next i
一切都很好,但第二次尝试运行它时,它给了我相同的RT 1004错误消息。在这两次运行中,我没有对工作簿做太多更改,但我打开了一些其他启用vba的工作簿。所有
范围
和单元格
都需要与它们的父级一起鉴定。所以,ArrA=Range(第(2)页。单元格(7+i,2),第(2)页。单元格(7+i,254))
应该是ArrA=Sheets(2)。单元格(7+i,2),第(2)页。单元格(7+i,254))
。下一步也应该这样做。我刚才看到您需要设置所有范围<代码>设置ArrB=…使用“With…End With”块来确保所有引用匹配会更简单。如下所示:与Sheet2:Set ArrA=.Range(.Cells(7+i,2),.Cells(7+1254)):以
结束所有的范围
和单元格
需要与其父级一起限定。所以,ArrA=Range(第(2)页。单元格(7+i,2),第(2)页。单元格(7+i,254))
应该是ArrA=Sheets(2)。单元格(7+i,2),第(2)页。单元格(7+i,254))
。下一步也应该这样做。我刚才看到您需要设置所有范围<代码>设置ArrB=…使用“With…End With”块来确保所有引用匹配会更简单。如下所示:With Sheet2:Set ArrA=.Range(.Cells(7+i,2),.Cells(7+1254)):以