【问题标题】:VBA run code until the last row of a column rangeVBA 运行代码直到列范围的最后一行
【发布时间】:2018-07-17 18:16:19
【问题描述】:

我的代码成功地找出了我最后一行代码的位置,但是当它到达设置数据范围时会给出运行时错误 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 vba excel dynamic


    【解决方案1】:

    在这里打错:

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

    应该是

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-28
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多