PatricK のコメントに対する編集については、末尾を参照してください。
これが基本的な質問である場合は申し訳ありませんが、私はこのサイトや他のサイトを調べていて、答えが見つかりません.
これは VBA 配列への私の最初の進出であり (私は一般的に VBA に不慣れです)、いくつかの構文に苦労しています。ワークシートから配列にいくつかのデータ (単一の列の一部) を読み込んで処理し、別のシートに書き込んでから、最初のシートから読み取ったデータで配列を上書きしようとしています。重要なポイントの 1 つは、反復ごとに読み取られるデータ ポイントの数が変化することです (たとえば、最初のループでは 4 つのデータ ポイント、2 番目のループでは 3 つのデータ ポイントなど)。そのため、配列のサイズも変更する必要があります。
コードでの私の試みは最初の反復で機能しますが、配列を空白のままにして、2 番目のループでデータを取得していないようです。これが私のコードです(これが適切にフォーマットされていない場合は申し訳ありません。現在、電話からしかインターネットにアクセスできません!):
Looping...
Dim DataSubSet
With ActiveWorkbook.Worksheets("Sheet1").Range("A" & CStr(I) & ":A" & CStr(io))
ReDim DataSubSet(1 To .Rows.Count, 1 To .Columns.Count)
DataSubSet = .Range ("A" & CStr(I) & ":A" & CStr(io))
End With
**Do processing**
End loop
ここで i と io は、関心のあるセルを決定する変数です。それらはそれぞれ、包括的なループで変化します。
前述したように、これは最初の反復でのみ機能します。私が間違っていた場所についての指針をいただければ幸いです。
前もってありがとう、サム
-------------------------------------------------- ----------------------------------
パトリック、さらに明確にするために、あなたの要点を説明するために私がノックアップした簡単なルーチンを次に示します.
** フォーマット チェックに失敗した (まだ電話で書いている) ため、投稿できませんでした。テキスト ファイル内のコードへのドロップボックス リンクを次に示します。