VBA运行代码直到列范围的最后一行

问题描述 投票:0回答:1

我的代码成功地解决了我的最后一行代码然后在达到设置数据范围时给出运行时错误1004但我希望代码运行到我的范围中的最后一行。有谁知道如何修复我的代码?

Sub PopulatingArrayVariable()

Dim myArray() As Variant
Dim DataRange As Range
Dim cell As Range
Dim x As Long
Dim TotalTargets As Double
Dim lastrow As Long

lastrow = Cells(Rows.Count, "D").End(xlUp).Row

TotalTargets = WorksheetFunction.Max(Columns("D"))

Set DataRange = Sheets("Result").Range("D:I" & lastrow)

For Each cell In DataRange.Cells
    ReDim Preserve myArray(x)
    myArray(x) = cell.Value
    x = x + 1
Next cell
End Sub
arrays excel vba excel-vba dynamic
1个回答
1
投票

错误的类型:

Set DataRange = Sheets("Result").Range("D:I" & lastrow)

应该

Set DataRange = Sheets("Result").Range("D1:I" & lastrow)

或者Dx,其中x是你的第一行。

© www.soinside.com 2019 - 2024. All rights reserved.