1

VBA を使用しているときの問題は、行の範囲からセルの範囲をコピーするループを作成しようとすることです。

ループは、同じ行とワークシートから配列にセルの範囲をコピーする必要があります。これは1行で機能しました:

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

私が作成したいのは、行「i」に対してこれを行うループです

セルの範囲からの情報で配列を作成した後、それを別の配列と比較します。比較した後、行を 1 つ下にジャンプして、配列の作成を繰り返します。そのようです:

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 変数によって自動的に設定されます。

助けてください、事前に感謝します(&下手な英語でごめんなさい)

4

2 に答える 2

0

次のようにセル範囲を設定できます。

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))
于 2013-04-27T12:52:46.350 に答える