これを行うための答えを探しましたが、同様の状況は見つかりませんでした。配列に入れたいデータのセットがあり、それを別のセルのセットに出力します。
元。A社、A社、価格A B社、B社、価格B C社、C社、価格C
など、行の量は動的になります。値の各セットを出力してさまざまなセルにフォーマットする必要がありますが、行数がわからないため、これを行う方法は確かです。
データのセットが毎回同じ領域で始まり、データ間に空のセルがない場合は、常に次のようにすることができます。
Dim rngData As Range
Set rngData = Range("A2").End(xlDown)
上記の例では、データがセル A2 から始まり、データ間にスペースを入れずに列 A にとどまると想定しています。これは、セル A2 を選択し、Shift キーを押しながら押した場合と同じです。すべてのセルが選択されます。その後、範囲内の各セルをループし、For を使用して必要なことを行うことができます。各ループは次のようになります。
For Each C in rngData
'Do whatever you want for each cell
Next C
セルと同じように C を使用できます。たとえば、C.Value
現在の個々のセルの値を返します。
データがどのように設定されているか正確にはわからないため、これは非常に広範囲ですが、これが役立つことを願っています.