- ベストアンサー
Excelデータを並べ替え
いつもお世話になります。 急ぎで、以下のことをしたいのですが、Excelのマクロで何とかなりませんか? A B C D E F このように300程の数字が、横に3つずつ区切ってセルに入っています。これを、 A B C のようにすべてA列に縦に並べ替えたいのですが。 申し訳ないですが、急ぐのでよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A列からC列にデータがあるとしてE列に展開 Sub データを並べ替え() Dim MaxRow As Integer Dim wVal As Variant Dim wR As Integer Dim wC As Integer ' MaxRow = ActiveSheet.Range("A1").End(xlDown).Row wVal = ActiveSheet.Range("A1:C" & MaxRow) wR = 0 For wIx = 1 To UBound(wVal) For wCol = 1 To 3 wR = wR + 1 ActiveSheet.Cells(wR, 5) = wVal(wIx, wCol) Next Next End Sub (1) Alt+F11 (ツール -> マクロ -> Visual Basic Editor) (2) 挿入 -> 標準モジュール -> 上記のモジュールを貼り付けて実行(F5を押す)する
その他の回答 (2)
- pkh4989
- ベストアンサー率62% (162/260)
No2 です。間違いました。 Sub データを並べ替え() Dim MaxRow As Integer Dim wVal As Variant Dim wR As Integer Dim wC As Integer ' MaxRow = ActiveSheet.Range("A1").End(xlDown).Row wVal = ActiveSheet.Range("A1:A" & MaxRow) wR = 0 For wIx = 1 To UBound(wVal) For wCol = 1 To 3 wR = wR + 1 ActiveSheet.Cells(wR, 5) = Mid(wVal(wIx, 1), wCol, 1) Next Next End Sub
お礼
No.2で合っていると思いますが。 No.3でマクロを走らせるとおかしな数字の羅列になります。 1桁ずつ(1文字ずつ)に分解されるような。
- skyresort
- ベストアンサー率63% (21/33)
現状、セルA1にABC、A2にDEFとなっていて、 A1にA、A2にB、A3にC、A4にD・・・のようにしたいということでしょうか?
補足
はい。説明が悪くてすみません。その通りです。 申し訳ないですが、本当に急ぐので、よろしくお願いします。
お礼
本当に無理なお願いをしたのに、ありがとうございました。 すごく助かりました。