見出し画像

【Excel VBA】複数ファイルの同じ場所のデータを拾って並べる

はじめに

時代は進めど、なんだかんだでExcelからは逃れられない人達へ。
いくつもあるファイルから、データを一か所に集めるためにコピペしますよね。間違えますよね。いまどのファイルからコピーしたのか分からなくなりますよね。そんな悩みを解決するツール(有料部分よりダウンロード可)を作成しました。

自分で書けるようになりたいという人へ。VBAコード中にコメントをかなり入れているので、プログラミングの参考にしてみて下さい。

仕様

1ファイルの複数セルの範囲を1ブロックとして、任意のサイズの複数ブロックを並べたグループを作ります(実際は内部処理)。
並べる方向は事前に設定します(使い方参照)。

グループ作成までのイメージ

この複数ブロックを集めた「グループ」を複数のファイルで作成し、さらにこの複数グループを一つのシートに並べます。
並べる方向は事前に設定します(使い方参照)。

ブロックの位置とサイズ、ブロックを並べる方向、グループを並べる方向、を設定する必要はありますがデータのコピペをここまで自動でやってくれます。

対象のファイル種類:csv・txt・xlsx・xlsm
※注意
xlsx・xlsmはシートが複数に分かれている場合、先頭シートのデータのみをコピーします。

使い方

1.フォルダの準備
データをコピーする複数のファイルを一つのフォルダに入れておきます。

2.DataPicker.xlsm(有料部分よりダウンロード可)を開く
セキュリティの警告が出る場合は「コンテンツの有効化」ボタンを押して下さい。

ツールを開いたところ

3.最初に作ったフォルダのパス(アドレス)を設定します
フォルダ上部のアドレスバーを右クリックして、アドレスをコピーしたら、DataPicker.xlsmのB3セルにペーストしてください。

フォルダパスの設定

4.ブロック、グループ(定義は仕様参照)の並べ方向を指定する
それぞれ、「縦」または「横」を指定してください。

データの並べ方の設定

5.ブロックの位置、サイズを指定する
「開始セル」は各ブロックの左上のセルを、「B3」のように指定してください。「列数」「行数」は各ブロックが何行何列のサイズかを指定します。

データブロック指定の設定

6.マクロを実行します
マクロの実行はショートカットキー(Ctrl+Shift+D)でマクロを実行できるようにしています。
10行目の横線以下に、指定の並びでデータを自動的にコピペしていきます。

マクロ実行後

皆様の業務効率改善、VBAのスキルアップにつながれば幸いです。

ここから先は

38字 / 1ファイル

¥ 400

この記事が気に入ったらチップで応援してみませんか?