簡體   English   中英

遍歷行並將該行的值范圍復制到數組

[英]loop through rows and copy a range of values of that row to an array

我在使用VBA時遇到的問題是嘗試創建一個循環,該循環從一定范圍的行中復制一定范圍的單元格。

循環必須將同一行和工作表中的一系列單元格復制到數組中。 這工作了一行:

CheckArr = Application.WorksheetFunction.Transpose(Worksheets("DTMs").Range("B2:F2"))

我要創建的是一個針對行“ i”執行此操作的循環

用單元格范圍中的信息創建一個數組后,我將其與另一個數組進行比較。 比較之后,我向下跳了一行,並重復了數組的創建。 像這樣:

對於i = 1到ID_cnt ------->'ID_cnt是我想要循環通過的行的最大范圍

CheckArr = Application.WorksheetFunction.Transpose(Worksheets(“ sheet12”)。Range(“ B(i):F(i)”))

下一個

這行不通。 我不知道如何編寫循環,以便使用行“ i”中單元格區域(B到F)中包含的信息來創建數組,以及如何在循環中重復該信息。

序列:

1)第(i)行:復制(從B到F)並填寫數組

2)檢查陣列的內容並與另一個陣列進行比較

3)跳至第(i + 1)行:重復此過程。

ID_cnt變量自動設置最大跳轉次數,該變量對包含信息的行數進行計數。

請幫助我,在此先感謝(對不起,英語不好)

您可以像下面這樣設置單元格范圍:

For i = 1 to ID_cnt 

    CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range("B" & i & ":F" & i))

Next 

您可能還會做一些更干凈的事情,例如:

dim myRngStr as string
myRngStr = "B" & i & ":F" & i
    CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range(myRngStr))

嘗試這個:

CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range("B" & i & ":F" & i))

暫無
暫無

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

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