- ベストアンサー
EXCEL
お世話になります。 並び替えの方法を教えて下さい。 元の表 A1:あ1 A2:い1 A3:う1 A4:あ2 A5:い2 A6:う2 このように3行ずつのパターンで文字が入っています。 これを下記のようにしたいです。 (例えばB列から) B1:あ1、C1:い1、D1:う1 B2:あ2、C2:い2、D2:う2 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 手っ取り早く、VBAでやってみました。 一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, j As Long, k As Long, str As String, tmp j = ActiveSheet.UsedRange.Columns.Count If j > 1 Then Range(Columns(2), Columns(j)).ClearContents End If For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row For k = 1 To Len(Cells(i, 1)) str = StrConv(Mid(Cells(i, 1), k, 1), vbNarrow) If str Like "[0-9]" Then tmp = tmp & str End If Next k Cells(tmp, Columns.Count).End(xlToLeft).Offset(, 1) = Cells(i, 1) tmp = "" Next i End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
その他の回答 (2)
- bunjii
- ベストアンサー率43% (3589/8249)
ワンステップでは無理かと思います。 2回に分けてA1~A3をB1~D1へ行列を入れ替えてコピーし、次にA4~A6をB2~D2へ行列を入れ替えてコピーすれば目的通りになります。
お礼
bunjiiさん、ご回答ありがとうございます。 関数などの下準備は必要でも良いので、手作業では厳しいのです。 (何千行もあるので) ありがとうございました。
- TasogareTaro
- ベストアンサー率0% (0/1)
A1からA6までを選択・コピーした後 B1に「形式を選択して貼り付け」小窓の右下の「行列を入れ替える」に チェックを入れてOKボタン ではダメでしょうか
お礼
Tasogare Taroさん、ご回答ありがとうございます。 試してみましたが、残念ながら、これでは全て横並びになりますよね。 例のように3個ずつで次の行に行きたいので・・・。 膨大な量なので、限りなく自動的に出来る方法が無いものかと。 ありがとうございました。
お礼
tom04さん、ご回答ありがとうございます。 ばっちりです。 これです。 何千行もある為、困っていました。 助かります。 ありがとうございました。