错误'1004'对象'_Worksheet'的方法'范围'失败
问题描述:
我想将范围分配给我的变量Arg1。错误'1004'对象'_Worksheet'的方法'范围'失败
dim wkb2 as workbook
set wkb2 = workbooks("File2.xlsx")
dim ws2 as worksheet
set ws2 = wkb2.worksheets(k)
Dim Arg1 As Range 'the range to sum
Dim Arg2 As Range 'criteria1 range`enter code here`
Dim Arg3 As Variant 'criteria1
Dim Arg4 As Range 'criteria2 range
Dim Arg5 As Variant 'criteria2
Set Arg1 = ws2.Range(Cells(i + 2, 6), Cells(i + 2, 6).End(xlDown).Offset(-1,
0))
Set Arg2 = ws2.Range(Cells(i + 2, 4), Cells(i + 2, 4).End(xlDown))
Set Arg4 = ws2.Range(Cells(i + 2, 5), Cells(i + 2, 5).End(xlDown))
Arg3 = ws1.Cells(j, 20)
Arg5 = ws1.Cells(j, 21)
ws1.Cells(j, 23).Value = Application.WorksheetFunction.SumIfs(Arg1, Arg2,
Arg3, Arg4, Arg5)
我得到的错误(标题)当我设置ARG1 = ...
我所试图做的是分配给ARG1从单元格区域(I + 2,6):单元格(i + 2,“使用Ctrl Down后单元格更高”)。因此,例如,如果我+ 2 = 5,我想要范围。(“F5:F9”),假设最后一行是Row10。
任何帮助,非常感谢! (:
答
下,如果你调整参考WS1您所使用
而且纸张应编译,放在一起的变量
Sub test()
Dim wkb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Arg1 As Range 'the range to sum
Dim Arg2 As Range 'criteria1 range`enter code here`
Dim Arg3 As Variant 'criteria1
Dim Arg4 As Range 'criteria2 range
Dim Arg5 As Variant 'criteria2
Dim i As Long
Dim k As Long 'Or if it is a worksheet name then as string
Dim j As Long
Set wkb2 = Workbooks("File2.xlsx")
'k = ''Set K variable here
Set ws2 = wkb2.Worksheets(k)
Set ws1 = ThisWorkbook.Worksheets("Sheet1") ' Change as appropriate
Set Arg1 = ws2.Range(Cells(i + 2, 6), Cells(i + 2, 6).End(xlDown).Offset(-1, 0))
Set Arg2 = ws2.Range(Cells(i + 2, 4), Cells(i + 2, 4).End(xlDown))
Set Arg4 = ws2.Range(Cells(i + 2, 5), Cells(i + 2, 5).End(xlDown))
Arg3 = ws1.Cells(j, 20)
Arg5 = ws1.Cells(j, 21)
ws1.Cells(j, 23).Value = Application.WorksheetFunction.SumIfs(Arg1, Arg2, Arg3, Arg4, Arg5)
End Sub
+0
你'暗'k,但你不要初始化它。如果不将值设置为k,则“工作表(k)”将失败。 – LocEngineer
+0
他们没有给出值,但是我应该初始化每个值。我的错! – QHarr
是'ws2'properly设置哪里是它的价值? – LocEngineer
ws1没有被声明或分配,还有Dim k As Long Dim i As Long Dim j As Long are missing – QHarr
'k'的值是多少?是否为0并且它的编号是否对应正确的工作表?是否打开了File2.xlsx?检查'wkb2.Worksheets(k)'的值检查您是否拥有正确的工作表。 – LocEngineer