【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のスキルアップにつながれば幸いです。
ここから先は
¥ 400
この記事が気に入ったらチップで応援してみませんか?