[英]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.