簡體   English   中英

VBA運行代碼,直到列范圍的最后一行

[英]VBA run code until the last row of a column range

我的代碼成功算出我的最后一行代碼所在的位置,但是到達設置數據范圍時卻給出了運行時錯誤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

這里的錯誤類型:

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

應該

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM