• ベストアンサー

エクセルで、こんなことは出来ますか?

お世話になります。 エクセルで、・・・ 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 と、なっております。 (スペースは、セルの境目のつもり) これを、自動で、・・・ Aセルの一番下に、Bセルを移動させる。 移動させた、Bセルの下に、Cセルを移動させる。 ・・・・・。 結果として、次のようになれば、いいのですが。。 01 05 09 13 02 06 10 14 03 07 11 15 04 08 12 16 このように、Aセルの縦方向下に、他のセルを、 移動させ、連結したいのですが、 自動で、出来るやり方はありますか? よろしく、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

範囲を選択して以下のマクロを実行 '--------------------------------------------------------------- Public Sub wrap() Dim r As Range, base As Range Dim x, y Dim i Set r = Selection Set base = Selection.Cells(1, 1) x = r.Columns.Count y = r.Rows.Count For i = 1 To x - 1 base.Offset(0, i).Resize(y).Copy base.Offset(y * i) Next base.Offset(0, 1).Resize(y, x - 1).Clear base.Select End Sub

nariyuki
質問者

お礼

皆様、回答ありがとうございます。

その他の回答 (2)

回答No.2

A5セルに"=B1"と入力します。 そのA5をD16までコピーします。 するとA列にご希望の数字の羅列ができますね。 あとはA列を選択してコピー,A列に形式を選択して貼り付け(値)しましょう。 その後不要な列を削除すればOKかと思います。 以上の手法は4行×4列に限らず応用できますが, 4行×4列くらいなら素直に B1~D4選択して切り取ってA5に貼り付ける。 B5~C8選択して切り取ってA9に貼り付ける。 B9~B12選択して切り取ってA13に貼り付ける。 が早いかもしれません。

noname#123709
noname#123709
回答No.1

タイトルの回答としては「できます」ですが、質問者様がVBAを理解 できるかどうかだと思います。

関連するQ&A