VBAで列を移動し入れ替えしたいときはないでしょうか。
けど、そんな中で悩むことは、
・Excelの基本操作で列を移動し入れ替えしたいが方法がよくわからない
ですよね。
今回はそんなお悩みを解決する
・Excelの基本操作で列を移動し入れ替える方法
についてまとめます!
もくじ
VBAで列を移動し入れ替えするイメージ
VBAで列を移動し入れ替えするイメージについて説明をします。
Excel側に3列の表を作成します。
まずは基本操作で列を移動し、移動先の列と入れ替えていきます。
次にVBAを使い、基本操作と同じく列を移動し入れ替えていきます。
まとめて列の移動と入れ替えができると大量に修正箇所があった場合に重宝しますね!
それでは早速試してみましょう。
Excelの基本操作で列を移動し入れ替える方法
Excelの基本操作で列を移動し入れ替える方法について説明をします。
Excel側に3列の表を作成します。
サンプルではA列を移動対象列とし、C列と入れ替えていきます。
まず移動対象とするA列全体を選択して、右端の選択範囲のラインをShiftキーを押しながら右クリックし続けます。
次に移動先のC列と入れ替えてていきます。
C列とD列の間までドラッグして移動し、移動ができたら右クリックを離します。
はい、A列が移動し、C列との入れ替えができましたね!
次はこの操作をVBAで再現してみましょう。
VBAで列を移動し入れ替える方法
VBAで列を移動し入れ替える方法について説明をします。
サンプルのVBAコードは以下の通りです。
Sub 列を移動し入れ替える()
Dim strIdoCol As String
Dim strIdoSakiCol As String
'移動対象の列名を指定します。
strIdoCol = "A"
'入れ替え先の列のひとつ先の列名を指定します。対象をC列とするときは「D」を指定します。
strIdoSakiCol = "D"
'移動対象の列をカットします。
Columns(strIdoCol & ":" & strIdoCol).Cut
'移動対象の列を移動先へ挿入し、前にあった列を移動対象の列へ移動し入れ替えます。
Columns(strIdoSakiCol & ":" & strIdoSakiCol).Insert Shift:=xlToRight
End Sub
VBAの設定をする
VBAの設定について説明をします。
移動対象の列名を指定します。今回はA列となりますので「A」を指定します。
strIdoCol = "A"
入れ替え先の列のひとつ先の列名を指定します。対象をC列とするときは「D」を指定します。
strIdoSakiCol = "D"
VBAの実装
VBAの実装方法については
VBAの実装手順
をご参照ください。
VBAを実行する
VBAを実行してみましょう。
はい!A列が移動し、C列との入れ替えができましたね!
VBAの説明
VBAについて説明をします。
移動対象の列をカットします。
Columns(strIdoCol & ":" & strIdoCol).Cut
移動対象の列を移動先へ挿入し、前にあった列を移動対象の列へ移動し入れ替えます。
Columns(strIdoSakiCol & ":" & strIdoSakiCol).Insert Shift:=xlToRight
VBAで列を移動する方法(入れ替えなし)
次にVBAで列を移動するだけの方法について説明をします。
サンプルのシナリオはA列をE列に移動する内容となります。
サンプルのVBAコードは以下の通りです。
Sub 列を指定列へ移動する()
Dim strIdoCol As String
Dim strIdoSakiCol As String
'移動対象の列名を指定します。
strIdoCol = "A"
'移動先の列の列名を指定します。対象をE列とするときは「E」を指定します。
strIdoSakiCol = "E"
'移動対象の列をカットし、Destinationプロパティで行先の列へ貼り付けます。
Columns(strIdoCol & ":" & strIdoCol).Cut Destination:=Columns(strIdoSakiCol & ":" & strIdoSakiCol)
End Sub
VBAの設定をする
VBAの設定について説明をします。
移動対象の列名を指定します。今回はA列となりますので「A」を指定します。
strIdoCol = "A"
移動先の列の列名を指定します。対象をE列とするときは「E」を指定します。
strIdoSakiCol = "E"
VBAを実行する
VBAを実行してみましょう。
はい!A列がE列へ移動されましたね!
VBAの説明
VBAについて説明をします。
移動対象の列をカットし、Destinationプロパティで行先の列へ貼り付けます。
Columns(strIdoCol & ":" & strIdoCol).Cut Destination:=Columns(strIdoSakiCol & ":" & strIdoSakiCol)
VBAの実装手順
実装手順は以下の通りです。
Excel側にVBAを実装していきます。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。
②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。
③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
VBAを実行する
では早速VBAの実行をしてみましょう。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。
②処理がされたことが確認できれば完了です。
さいごに
いかがでしょうか。
今回は、
・Excelの基本操作で列を移動し入れ替える方法
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す