エクセルはデータ解析・管理を行うツールとして非常に機能が高く、上手く使いこなせると業務を大幅に効率化できるため、その扱いに慣れておくといいです。
ただ機能が充実しているあまり初心者にとっては処理方法がよくわからないことも多いといえます。例えばエクセルのマクロ(VBA)にて複数列を1列にまとめるにはどう処理すればいいのか理解していますか。
ここではエクセルでのマクロ(VBA)にてバラバラの列を1列にまとめる方法について解説していきます。
エクセルにて複数列を1列にまとめる方法【バラバラの2列を1列にまとめる・3列を1列にまとめるなど】
それでは以下のサンプルデータを用いてエクセルのマクロ(VBA)を用いて複数列を1列にまとめる方法(今回は2列を1列にまとめる)について確認していきます。
マクロ(VBA)を起動させるために、上タブの開発、マクロと選択していきます。
作成、もしくは編集(編集途中の方は)ボタンを押し、コードを入力できる画面に移行させます。
続いて以下のコードを入力していきます。
Sub 複数列を1列に()
Dim i As Long, k As Long
k = 1
For i = 1 To 2
For j = 1 To 5
Worksheets(“Sheet1”).Cells(j, i).Copy
Worksheets(“Sheet1”).Cells(k, 3).PasteSpecial
k = k + 1
Next j
Next i
End Sub
基本的にはfor文にてループ処理を行っているだけといえますが
Worksheets(“Sheet1”).Cells(j, i).Copy
にてバラバラの複数列を縦に読み込んでいっています(つまりA1,A2・・、B1、B2・・・)。
なおこのiとjの数値を適宜変更することによって、その行数や列数も任意の数値に変えることも可能です。
さらに上にてコピーした数値を
Worksheets(“Sheet1”).Cells(k, 3).PasteSpecial
で3列目に1行目から入力していっています(K=1とk=k+1の定義より)。
このコードを入力後、この画面を閉じ、マクロの実行を行います。
するとバラバラの2列を1列にまとめることができました。
エクセルにて3列を1列にまとめる方法【バラバラの複数列を1列にまとめる】
続いて複数列として3列を1列にまとめる方法についても確認していきましょう。
以下のサンプルデータを用います。
基本的には上と同じように対処すればいいですが、指定する列数(1~3番目の列:A~C列)と、複数列をまとめていく列の番号(D列なので4番目)を変更する必要がでてきます。
Sub 複数列を1列に()
Dim i As Long, k As Long
k = 1
For i = 1 To 3
For j = 1 To 5
Worksheets(“Sheet1”).Cells(j, i).Copy
Worksheets(“Sheet1”).Cells(k, 4).PasteSpecial
k = k + 1
Next j
Next i
End Sub
このマクロを実行することによって以下のよう、3列を1列にまとめることができました。
まとめ エクセルにて2列を1列にまとめる方法【マクロ(VBA)にて3列を1列にまとめる方法】
ここでは、マクロ(VBA)を使用してエクセルにてバラバラの複数列を1列にまとめる方法について確認しました。
基本的にはforループ処理を入れ込構造にすることで対処でき、その場合の各数値範囲のみを変更していくといいです。
エクセルでのさまざまな処理に慣れ毎日の生活に役立てていきましょう。
コメント