HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > For...Nextステートメントを使って1列のデータを2列に並べ替える

即効テクニック

セル操作関連のテクニック

For...Nextステートメントを使って1列のデータを2列に並べ替える

(Excel 97/2000)
1行目に次のようなデータが入力されているとします。

A列  B列   C列   D列   E列   F列
山本  森田  山下  森井  山川  森本

サンプルマクロは、For...Nextステートメントを使ってデータを次のように2列にする一例です。

A列   B列
山本  森田
山下  森井
山川  森本

準備として標準モジュールに次のマクロを作成してください。
Sub Sample()
    Dim myData  As Integer
    Dim CopyPos As Integer
    Dim PastPos As Integer

    'データ数をセットします
    myData = 6

    '3行目から2列にして貼り付けます。
    PastPos = 3
    
    For CopyPos = 1 To 6 Step 2
        
        'A列のセルを2つずつコピーします。
        Range(Cells(1, CopyPos), Cells(1, CopyPos + 1)).Select
        Selection.Copy
        
        'コピーしたデータを貼り付けます。
        Cells(PastPos, 1).Select
        Selection.PasteSpecial
        
        '貼り付け先の列をカウントします。
        PastPos = PastPos + 1
    
    Next CopyPos

End Sub