- 締切済み
EXCEL A列の値を受けてB列に出力するロジック
A列の値を受けて、B列に出力するVBAを組みたいと考えています。 ロジックが思いつきませんので、お助け下さい。 A列に一の位が必ず1の数字が入っています。 それをB列に1~10まで展開します。 それが終われば、A列の次の値をB列に入力、 同じように、B列に1~10まで展開します。 それをA列の最後の値まで繰り返します。 最終的にはA列に入力されている個数の10倍の個数がB列に出力されることになります、 以上の処理です。 A B C D E F G 1 31 31 2 61 32 3 81 33 4 11 34 5 ・ 35 6 ・ 36 7 ・ 37 8 ・ 38 9 ・ 39 10 ・ 40 11 ・ 61 12 ・ 62 13 ・ 63 A列の値の個数は多いので、できるだけ早く動作するような処理方法がわかればと思います。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- abe_onesel
- ベストアンサー率52% (20/38)
回答No.4
- mt2008
- ベストアンサー率52% (885/1701)
回答No.3
- hige_082
- ベストアンサー率50% (379/747)
回答No.2
- alesi_sato
- ベストアンサー率35% (23/65)
回答No.1
お礼
Dim i, j, k, z As String z = 9000 For i = 1 To z j = 10 * (i - 1) + 1 Range("B" & j).Value = Range("A" & i).Value For k = 1 To 9 Range("B" & (j + k)).Value = Range("B" & j).Value + k Next k Next i なんとか自分で考えてコード作ってみましたが、処理が遅いです。 配列処理にするにはどうしたらよいのでしょうか?
補足
すいません。 行が段ずれしてます。 A B C D E F G 1 31 31 2 61 32 3 81 33 4 11 34 5 ・ 35 6 ・ 36 7 ・ 37 8 ・ 38 9 ・ 39 10 ・ 40 11 ・ 61 12 ・ 62 13 ・ 63