[EXCELVBA]二つのシートを両シートの同一キーで照合し両シートのデータ結合

t.araki
  • t.araki (taraki3)
  • 本人確認 本人確認済みのフリーランスです
  • 0 満足
    0 残念

業務内容

<マクロの開発背景と用途>
情報処理系の個人的な実務経験上あるいは一般的に言えることは、
会社・組織の規模が大きくなればなるほど情報源となる有用なデータが、
往々にして個人あるいは関係部門で個々に所持されていたり、
情報インフラシステム内に存在したりで、点在・乖離していることが多々見受けられます。
提供しますマクロは、その点在・乖離している各々の所有データを結合し、
新しくデータを生成することによって新たな価値のある情報を得ることを目的に開発したもので、
データ生成の最もベーシックな機能部分に当たるデータ結合を実行します。

<納品物>
マクロはEXCELマクロ有効ブック(台帳照合.xlsm)で提供致します。
ブックの構成は以下となります。
・「照合」と「台帳」シート(仮称)のひな形ワークシート
・マクロ実行に必要なパラメータを設定するフォーム(台帳照合form)
・標準モジュール(台帳照合マクロ本体・VBA)

<マクロの機能>
「照合」と「台帳」シートを両シートの同一キー(例えば、 商品コード等)で照合し、
キー値が完全一致した場合のみ、
「台帳」の一致した行の取出し列から取出し列数分のセルのデータを
「照合」の一致した行の挿入列へアペンドします。
データ結合は、「照合」対「台帳」に対して、
一対一(1:1)または多対一(n:1)のリレーションの設定ができます。
備考: 
 もし、Accessに詳しい方であれば、AccessクエリのSQL「LEFT JOIN」の機能を  
 簡易にしたEXCELマクロ版と見て頂ければ良いかと思います。

<マクロの操作方法>
①台帳照合.xlsmブックをオープンする。
②「照合」と「台帳」となるデータを任意のシートにインポート(コピー&ペーストでも可)する。
③インポートした両シートの対象データの上側または左側に、
 空白行または空白列があれば削除し、
 対象データの矩形領域(列見出し行含むこと可)の最左上セルがA1セルになるように配置する。
 備考:
  このステップは、オペミス(ActiveCellが対象データの矩形領域外)を回避するための方法ですので必ず実施して下さい。
④両シート共、対象データの矩形領域をキー列で昇順ソートする。
⑤「開発」メニュー→「マクロ」→「台帳照合」マクロの順に選択し、マクロを実行する。
⑥マクロ実行に必要なパラメータを設定するフォーム(台帳照合)が表示される。
 備考:
  行列の設定はR1C1参照形式の行列ラベル(数字)で指定して下さい。
  A1とR1C1参照形式の切替は、
  「ファイル」メニュー→「オプション」→「数式」→「数式の処理」
  →「R1C1参照形式を使用する」チェックボックスで行って下さい。
 <照合側パラメータ>
  シート名 : 照合データのシート名
  原点行  : 照合データの矩形領域の列見出しを除く最上位の行ラベル
  照合列  : 照合データのキー列の列ラベル  
  挿入列  : 照合データの挿入列の列ラベル
 <台帳側パラメータ>
  シート名 : 台帳データのシート名
  原点行  : 台帳データの矩形領域の列見出しを除く最上位の行ラベル
  照合列  : 台帳データのキー列の列ラベル
  取出し列 : 台帳データの取出し列の列ラベル
 取出し&挿入列数 : 取出し&挿入する列数(セル数)
 <照合対台帳リレーションパラメータ>
  以下のリレーションのいずれかのオブションボタンを選択する。
   多対一(n:1)
   一対一(1:1)
⑦台帳照合の開始または中止を選択する。
 ・台帳照合を開始する場合は「ok」ボタンをクリックする。
  開始するとステータスバーに処理中ステータスを示す以下のメッセージが表示される。
   ”照合済み行数 = n / 照合対象行数”
   備考:
    照合対象行数が少ない場合は目視で確認できない場合があります。
  照合対象行の全行を処理終了すると、マクロは自動的に実行を終了する。
 ・台帳照合を中止する場合は「キャンセル」ボタンをクリックする。
  マクロは実行を終了する。

<マクロの応用例>
同一形式のシート同士(例えば、前回と今回、前日と当日、先月と今月等のデータ)に適用すれば、
削除と継続データの判別ができ且、
相互にシートを入替た後、再適用すれば、
新規(追加)と継続データの判別ができます。
判別した行の抽出にはオートフィルタを適用して行って下さい。
継続データの更新の有無については、以下に判別方法の一例を示します。
継続データの最右端セルの次のセル以降に対応するセル同士を比較する関数式を挿入し、
比較関数式を挿入した最右端セルの次のセルに比較関数式を串刺して判別する関数式を挿入した後、
更新有無の判別および判別した行の抽出にはオートフィルタを適用して行って下さい。

基本料金

プラン
11,250

ベーシック

はじめての方におすすめ
納期
1 日
合計
11,250円

出品者

t.araki
t.araki (taraki3)

excel & access & VBA & excel でのwebスクレーピング

  • 0 満足
    0 残念
  • 本人確認
  • 個人
  • 東京都

コンピュータメーカでコンピュータの開発設計に従事すると共に、
生産管理にも携っていました。
生産管理では精度改善および効率化・ビジュアル化等のためにwindowsとoffice関連、
特にEXCEL/ACCESS VBAおよびマクロを駆使して取組んでいました。

注文時のお願い

クライアント様から提供していただくものはありません。

本マクロを使用できるパソコンの台数に制限はありません。
Windows7での動作を確認しております。

バグがありましたらできるだけ早く対応させていただきます。
その他ご不明な点などは、ご連絡いただければ対応させていただきます。

販売価格については、提供しますマクロが至極単純なマクロであることから、少々あるいはかなり高めに感じられるかもしれません。
単純なマクロであることを別の視点から捉えていただくと、言い過ぎになるかもしれませんが、 
単純だからこそデータを選ばず、多業種・業務のデータにも対応・応用できる汎用的なマクロであるとも言えます。
個人の方の場合、処理データの発生頻度および使用頻度が、例えば、daily、weekly、monthly(日次、週次、月次)等であったり、
長期間での使用を想定させていただくと、十分ペイするものと推測します。
会社・組織の方の場合、先の処理データの発生頻度および使用頻度と使用期間に加わえて、
関連部門への横展開等、複数人での使用を加味・想定させていただくと、十分ペイするものと推測します。
いずれの方も、各々での費用対効果でご判断をお願い致します。

<ご参考>

もし、よろしかったら本サービスをご購入いただいたお客様には本サービス同様に現在出品中の
「[EXCEL VBA]ワークブック内の完全/部分一致データを置換えまたは削除するマクロ」サービス
をご参考として無償で提供致しますのでその旨をご連絡ください。