<<< エクセル差分抽出 説明書  '14/3/7 by だるま(鈴木正国) >>> 【ソフト名称  】エクセル差分抽出 【バージョン  】1.45a 【実行ファイル名】エクセル差分抽出.xla 【動作環境   】OS : WindowsMe/2000/XP 又はこれ以降のバージョン          Excel : Excel2000/2002 又はこれ以降のバージョン         (動作確認済:WindowsXP+Excel2002) 【ソフト種別  】シェアウェア 本体\3,000(消費税5%時 \3,150、8%時 \3,240、10%時 \3,300) 【シェアレジ  】http://shop.vector.co.jp/service/servlet/NCart.Add?ITEM_NO=SR232340 【著作権    】だるま(鈴木正国)が保有しています。          雑誌等への掲載は自由です。但し、事前または事後連絡願います。 【免責     】作者は一切責任を負いません。ご自身の責任でご使用ください。 【Vector作品番号】SR232340 【E-mail    】daruma3.vbaアットマークoffice.tnc.ne.jp      (スパムメール対策です↑を「@」に変えてください。) 【ホームページ 】http://hp.vector.co.jp/authors/VA033788/index.html 【更新履歴】 Ver. 1.45a 消費税率変更に伴う、説明書のライセンス料表記修正 目次 【エクセル差分抽出とは】 【インストールについて】 【まずは体験してください】 【ライセンスについて】 【操作説明1.基本事項】 【操作説明2.操作手順】 【操作説明3.抽出結果】 【操作説明4.その他】 【メニュー項目について】 【お問い合わせ】 【付録:WigMenu説明書抜粋】 ****************************************************************************   【エクセル差分抽出とは】 **************************************************************************** ブック対ブックからセル対セル、更にはセル内文字列同士まで広範囲で自由な比較を 行ない差分抽出(不一致抽出)を行なうソフトです。 2つの指定範囲に対してどこがどう違うかを、簡単操作で高速処理して抽出します。 動作モード(セルの位置関係)は次の3つが選べます。 1.絶対位置比較  同じセル番地どうしで比較する最も一般的な比較です。 2.相対位置比較  元表全体を一行ずらして作成したものと比較したいなどという時に使用します。 3.ランダム比較  上記1,2は1セル対1セルの比較ですが、このモードは指定セル範囲どうしの  全セルの総当りを行ないます。  比較元のみに含まれる値、比較対象のみに含まれる値、を抽出出来ます。  (※総当りといっても、高速処理アルゴリズムを使用していますので高速です。) ◆主な特徴 ・3つの動作モード(上記) ・2つのシート対応関係(シート名で対応、インデックス(並び順)で対応) ・比較元と比較対象の、自由な選択と見易い表示、履歴の保存 ・4つの比較値(「値」「見た目の値」「A1形式の数式」「R1C1形式の数式」) ・相違値を含む行の抽出 ・相違値セルへのハイパーリンク設定 ・文字列比較機能により、長い文字列・数式の相違部分を一目で確認 ・別フォルダに保存された【同一名ファイル】どうしの比較が可能 ・比較に使用する保存済ファイルへの変更は一切無し ・前回実行時のすべての設定値を保持(PCの電源を切っても) ****************************************************************************   【インストールについて】 **************************************************************************** プログラムの起動方法はとりあえず3つほどあります。 1.直接ダブルクリックで開く。   ⇒ 「マクロの警告」の関係で好ましくありませんが一番手軽ではあります。 2.WigMenuから実行する。   ⇒ 必要なときだけロードして実行出来、「マクロの警告」も表示されません     のでお勧めです。     だるまのページからどうぞ。     http://www.vector.co.jp/vpack/browse/person/an033788.html 3.アドインとして設定する。   ⇒ 「マクロの警告」は表示されませんが、Excel使用時に常にロードされます     ので、専用メニューは常に表示されます。(専用ツールバーはON,OFF設定可) いずれの場合もインストールは、解凍したファイルを任意の同一フォルダに入れるだ けです。アドインとして設定する場合は普通に、[ツール] - [アドイン] - 「参照」 でファイル(エクセル差分抽出.xla)を指定してください。(アドイン専用フォルダ AddInsである必要はありません。) アンインストールは、フォルダごと削除してください。 ※アップデート方法 旧バージョンからアップデートする時は、解凍したファイルで旧ファイルを上書きし てください。 ****************************************************************************   【まずは体験してください】 **************************************************************************** 前項を参照してインストールしてください。 そして、次のとおりに操作してみてください。 少々長いですが、この操作で本ソフトの概要を理解していただけると思います。 まず、SampleData.xlsを開いてください。 「差分抽出」ツールバーの「開始(R)...」ボタンをクリックし、メインダイアログ を開きます。(以下、この操作を単に「開始」と表現します。) 「シートの対応関係」グループの「並び順」を選択します。 (これは、この後同一ブック内の別名シートを対象にして比較を行なう為です。) 「比較元」グループの「参照」ボタンをクリックします。 「比較元選択」ダイアログが表示されますので、 ・「ブック選択」で「SampleData.xls」を選択し「OK」 ・「シート選択」で「元」シートを選択し「OK」 ・「セル選択」はせずに「OK」(既に何か表示されていたら「クリア」して下さい) で「比較元」を確定します。 選択した値は隣のコンボボックスに追加され、さらに見易い形で下の表示窓(テキス トボックス)にも表示されます。 「比較対象」グループの「参照」ボタンで同様にして、 こちらでは「シート選択」で「絶対」シートを選択してください。 この段階ではまだ「実行」はできません。 「追加▼」ボタンをクリックします。 選択した「比較対象」が下のリスト(黄色)に追加されこれで「実行」準備完了です。 (ここで、表示窓の値が消えてしまい、リストが一行表示で見にくくなっていますが、 リストをクリックすれば表示窓にふたたび見易い値が表示されます。これは、表示窓 が「参照」で得た選択値と「リスト」の値の両方の表示を兼ねているためで、いずれ かをクリックすればそちらの値が表示されます。現在どちらの値を表示しているかは 色で判別できます。) 「実行」ボタンをクリックします。 「n個の違いが見つかりました。」とメッセージボックスが表示されますので「OK」 をクリックします。 同時に「抽出結果1」ブックに「差分一覧1」シートが作成され、抽出結果が表示され ています。 ここで一つ気付かれたでしょうか? 最初に開いていた、SampleData.xlsがSampleData1に変わっています。 実は比較に使用されるファイルはそのまま使用されることは無く、一旦閉じられて あらためて「新規作成」で開かれて使用されます。 ですから、色塗り指定などをしても元ファイルが変更されることはありません。 (勿論、その変更をファイルに反映したければ同名で上書き保存すれば良いです。) 続いてもう一度「開始」して下さい。 メインダイアログの設定値はさきほどのまま残っています。 「比較設定」グループの 「テキストで比較」、「数式で比較」、「大文字と小文字を区別する」などを適当 に設定して実行してみてください。 違う結果が得られることを確認できると思います。 さらに、「出力設定」グループの各項目のチェックをON, OFF して実行してみてく ださい。色々な出力結果が得られます。 (相違行出力では別シート(行Dataシート)に出力されます。) (※色塗りに関して:「...に色を塗る」では実行時にリセットはしません。 つまり2回以上続けて実行する時は前の「色」が残っている場合があります。 色をリセットするには、対象ブックをアクティブにしてから「差分抽出」 ツールバーの[色リセット]メニューを実行してください。) それではもう一度「開始」して下さい。 今度は「比較元」はそのままで 「比較対象」の「参照」、「シート選択」で「相対」シートを選択してください。 「追加▼」ボタンをクリックします。 選択した「比較対象」が下のリスト(黄色)に追加され、2行になりました。 このように「比較対象」は複数選択し一度に実行することも出来ます。 (各リストの内容はクリックして選択すれば表示窓に表示されます。) では「実行」してみましょう。 おやおや、「元」シート対「相対」シートの抽出結果で随分たくさんの違いが出て きました。 SampleData1ブックの「元」シートと「相対」シートの内容を確認してみましょう。 一見するとそんなに違うデータのように見えません。でも気がつきましたね、そう です位置が違うのです。 「相対」シートのデータはその名のとおり「相対指定」での確認の為のデータです。 今はセルの位置関係(比較モード)が「絶対位置比較」になっていますので、ある 意味間違った比較指定をしてしまったことになります。 このように間違った指定をしてしまうと思いもよらぬ大量の相違データが抽出され てしまいます。そして、時によってはとんでもなく時間がかかってしまうことにも なりかねません。 そこでその歯止めとしての設定が、「相違箇所抽出の最大数」グループの設定です。 さて、ではあらためて「セルの位置関係」を「相対位置比較」にして「実行」して みましょう。 今度は正常に差分が抽出されたでしょう。 え、まだダメですか? そうです、この段階では正常に抽出された人とそうでない人が出てきます。 理由は、「相対」シートのデータに対して、今までの操作で「色」を付けて【使用 済セル範囲】が変わってしまっている人がいるからです。 そういう人は一旦、SampleData1ブックを閉じて(保存せずに)もう一度「開始」し そのまま「実行」してみてください。 どうですか、今度こそ正常に差分が抽出されたはずです。 最後は「ランダム比較」です。 この比較モードは「絶対位置比較」「相対位置比較」の1セル対1セルの比較とは 全然違います。指定したセル範囲対セル範囲を総当りで比較します。 とにかく試してみましょう。 「開始」してください。 「セルの位置関係」を「ランダム比較」にします。 「比較元」の「参照」で「ランダム」シートを選択し、さらに「セル選択」でA列 を選択します。 「比較対象」でも同様にして、こちらは「ランダム」シートのB列を選択します。 「追加▼」ボタンをクリックします。 「比較対象」は複数件選択できるため3件目に追加されたと思います。 今回、前の2件は不要なので削除しましょう。 リスト(黄色)の中の上2件をドラッグして選択して「削除▲」してください。 ここでは、両方の「...色を塗る」にチェックを入れましょう。 結果が理解し易くなります。 では「実行」してください。 2行の違いが表示されたと思いますが、メッセージは「4個の違い...」です。 「絶対比較」と「相対比較」ではセル対セルの1対1での比較ですので1対で1個の 違いとカウントします。 しかし「ランダム比較」では総当りなので、今回の例で言うとA列のみに含まれ る値とB列のみに含まれる値が別々に抽出されています。ですから各々別々にカ ウントして4件となったわけです。 今回はたまたま各々2件づつ抽出されましたが、1件と3件、あるいは2件と 0件などというように各列から抽出される件数が同じになるとは限りません。 ですから「ランダム比較」では各々別々にカウントする仕様としています。 さて、最後にSampleData1ブックの「ランダム」シートを見てください。 ランダム比較ではこのような感じで差分が抽出されます。特にB列内の同一データ 「c」「f」の内、後の残りの部分が差分として認識されることに注目してくださ い。本ソフトではそういう仕様になっています。 なお、この「ランダム」シートのデータは分かり易いように元々昇順に並んでい ますが、実際には全くその必要はありませんので念のため。 以上、長々とお付き合いお疲れ様でした。m(_ _)m いかがですか、これで本ソフトの概要を理解していただけたでしょうか。^d^ もう少し大きなデータで処理速度などについて確認してみたいということでしたら、 [ツール] - [差分抽出] - [サンプルデータ作成] というメニューを用意してあり ますので、適当なサンプルデータを作成して色々とチェックしてみてください。 ****************************************************************************   【ライセンスについて】 **************************************************************************** このソフトはシェアウェアです。 無料のお試し期間は1ヶ月としますが、その後、継続して使用するにはライセンス料 の支払いが必要です。 お試し期間中の機能制限はありません。 お支払いはベクターのシェアレジでお願いいたします。 http://shop.vector.co.jp/service/servlet/NCart.Add?ITEM_NO=SR232340 また、金融機関からの振込でもお支払いいただけます。その場合は、ソフト名と必要 ライセンス数、希望金融機関名(下記)を明記の上、E-Mailにてお申し付けください。 折り返しライセンス料金、振込口座番号を連絡いたします。 (振込み手数料はお客様のご負担になりますのでご了承ください。なお2ライセンス 以上ご購入いただく場合はその数に応じて大幅に割引させていただいております。) ●利用可能金融機関:磐田信用金庫、静岡銀行、 スルガ銀行、三菱東京UFJ銀行 お振込いただいた後、その旨をE-Mailにてご連絡ください。その後、ライセンスキー を送付させていただく、という手順になります。 ◆ライセンス料お支払いへのご案内 [ツール]-[差分抽出]-[ライセンス]-[お支払い方法]でご案内のフォームが表示さ れます。 ◆ライセンス登録方法 1.ライセンス料のお支払いをしていただき、ライセンスキーを入手します。 2.[ツール]-[差分抽出]-[ライセンス]-[キー登録]を実行します。 3.ライセンスキーを入力し、OKをクリックします。   (キーは間違えないためにコピー&ペースト(Ctrl+C, Ctrl+V)してください。) 以上で登録完了です。 ****************************************************************************   【操作説明1.基本事項】 **************************************************************************** 本ソフトを扱う上での基本的な事項です。重要な内容ですので御一読願います。 基本事項目次 ◆ダイアログ(ユーザーフォーム)の基本操作 ◆元ファイルは変更されません ◆ブックは自動保存されません ◆セルの位置関係 ◆シートの対応関係 ◆比較元と比較対象の選択について ◆4つの比較値(「値」「見た目の値」「A1形式の数式」「R1C1形式の数式」) ◆ダイアログ(ユーザーフォーム)の基本操作 通常のWindowsアプリケーション、エクセルダイアログなどと何ら変わりません。 これに関しては特別な注意事項はありません。 マウス操作に加えてすべての操作はキーボードからも出来ます。ほとんどのボタン操 作などにはアクセスキーを設定してありますので、Altキーを押しながら対象キーを 押すことでクリックの代わりになります。 また、すべてのダイアログで「キャンセル」キーに「Esc」キーを割り当てています ので「キャンセル」クリックの代わりに「Esc」キーでもキャンセルできます。 さらに、ほとんどの項目でマウスを当てると簡単な説明が表示されるようになってい ますので、ここの基本事項をご理解いただけていれば、その説明だけで大抵の操作は 可能だと思います。 ◆元ファイルは変更されません 本ソフトで指定して比較に使用するファイルはプログラムによって「新規作成」で開 いて使用されます。そのため、元ファイルが書き換えられたりする心配はありません。 「新規作成」で開いて、と言っても操作はすべてプログラムで制御していますので、 操作感覚としては普通にファイルを指定するだけで特別なことをする必要はありませ ん。 また、予め普通にファイルを開いてから操作を開始しても構いません。実行時には プログラムで自動的に「新規作成」にて開きなおされますので。 (逆に、自分で通常のファイルを「新規作成」で開いて未保存のままそのブックを使 用するのはやめてください。一応比較動作自体には支障はありませんが、相違箇所へ のハイパーリンク設定が正常に行なわれませんので。これはエクセルの仕様です。) 「新規作成」で開いてブックを使用するため、別フォルダに保存されている同名の ファイルどうしでも比較が可能です。この場合も特別な操作は必要ありません。普通 に各々のファイルを指定するだけです。 ◆ブックは自動保存されません プログラムによって「新規作成」で開いた未保存状態のブックに対して比較動作が 行なわれ、その比較結果として「抽出結果」ブック「差分一覧」シートなどが作成 され、指定により相違箇所のセルに色塗りがされたりします。 これらの未保存ブックは自動で保存されることは無く開いたままになります。必要に 応じて適宜保存してください。 ※抽出結果は、現在開いている未保存の「抽出結果」という名前で始まるブックに シートが追加されて行きます。 ◆セルの位置関係 本ソフトには3つの動作モードがあります。 比較条件に合ったモードを選択してから、実行してください。 1.絶対位置比較  同じセル番地どうしで比較する最も一般的な比較方法です。 2.相対位置比較  元表全体を何行かまたは何列かずらして作成したものと比較したいなどという時に  使用します。 3.ランダム比較  上記1,2は1セル対1セルの比較ですが、このモードは指定セル範囲どうしの  全セルの総当りを行ないます。  比較元のみに含まれる値、比較対象のみに含まれる値、を抽出出来ます。  (※総当りといっても論理的な結果としてそうなるだけであり、実際に総当りは    していません。高速処理アルゴリズムを使用していますので単純な総当りと    は比べ物にならないほど高速です。) ◆シートの対応関係 比較元と比較対象のシートをどう対応させるかの指定です。 一般的には同一シート名どうしで比較しますので「名前順」を選択しますが、 「並び順」を選択すればシート名に関係なくシートの並んだ順に対応させること が出来ます。 同一ブック内の別シートどうしで比較する時には「並び順」にする必要がありま す。同一ブック内に同じ名前のシートは存在しませんから当然ですが。 同一ブック、同一シート内の別セル範囲どうしの比較の時は、「名前順」「並び順」 のどちらでも構いません。この場合は同じ意味になりますので。 ◆比較元と比較対象の選択について 比較元は一つのみ選択可能で、比較対象は複数選択が可能です。 比較元と比較対象、各々どの段階まで選択するかは自由です。 ブック(ファイル)を選択するだけでも構いません。 ⇒全シートが選択されたことになります。 シートまでの選択でも構いません。 ⇒シートの使用済セル範囲が選択されたことになります。 (※シートは複数選択可能です。ダイアログのリストボックス上でマウスのドラッグ  やCtrl,Shiftキーとの組み合わせで出来ます。) 行または列の選択でも構いません。 ⇒そのシートの使用済セル範囲との交わり部分が選択されたことになります。 そして、セル範囲を明示的に選択することも勿論可能です。 (※複数のシートを選択した場合、セル範囲の選択は一つ目のシート上で行なわれ   そのセル範囲が選択されている全シートに適用されます。) ◆4つの比較値(「値」「見た目の値」「A1形式の数式」「R1C1形式の数式」) 単に比較すると言っても実はエクセルには値として4つの値がありますので、いず れかを選択して比較することになります。 (以下、色々書いていますが9割方は初期設定の「値」&「空セルと0を区別する」 で事足りるかと思われます。) 【値】 いわゆる「値」です。 数式が入力されているセルではその評価結果が値となります。例えば「=A1+A2」と いう数式が入力されていて、A1が1、A2が2なら値は3です。 数値と文字は区別されます。数値の 1 と数字(文字)の "1" は明確に区別されます。 空セルは数値としては0と評価され、文字としては長さ0の文字列 "" と評価されます。 ですので、「空セル」=0、「空セル」="" です。 日付、通貨、論理値(TRUE, FALSE)も数値として評価されます。 (日付と通貨は書式を標準にした時の値になります。TRUE=-1, False=0 です。) ただし「空セルと0を区別する」にチェックすると上記の各々は別物として評価され ます。例えば日付「2010/10/13」と数値の「40464」は、通常は=とみなされますが チェックを入れると異値と評価されます。勿論、空セルと 0 、空セルと "" も異値 となります。 ※時刻は上記チェックを入れても数値として評価されます。TRUEはエクセル一般機能  上の値としては数値の 1 と同等ですがVBAプログラム上では -1 です。 【テキスト】 セル上の見た目の「文字列」です。 同じ「値」であってもセルの書式設定によって見た目が違っていれば異値と判断され ます。 例えば、数値の1が2つのセルに入力されていて、一方は標準書式で"1"と表示され ていて他方は書式設定で"1.0"と表示されていれば、これらは異値となります。 一方、すべて文字列として処理されますので数値と数字の区別はありません。数値 の 1 と数字(文字)の "1" は=です。 【数式】 セルに数式(=で始まる)が含まれる場合、数式バーの表示と同じ形式の文字列(等号 も付加されます)が比較に使用されます。 それ以外(セルに定数が含まれている)の場合、その「値」がそのまま文字列として 比較に使用されます。 (※日付は数字になります。例えば「2010/10/13」は"40464"です。) セルが空の場合、空の文字列("")が使用されます。 【数式(RC形式)】 基本的には「数式」と同じです。 「数式」ではA1参照形式で数式が取得されますが、こちらではR1C1参照形式で取得さ れます。「数式」の場合もこちらの場合もブックの参照形式がどちらに設定されてい るかには関係ありません。 こちらは「相対位置比較」で「数式」で比較したい時に指定します。 ****************************************************************************   【操作説明2.操作手順】 **************************************************************************** 前記の「体験」をして下さっていればほとんど読む必要がありませんが、一応説明し ます。不要と思われたら読み飛ばしてください。 1.メインダイアログの起動 ******************** ・「差分抽出」ツールバーの「開始」ボタン ・メニューバーの[ツール] - [差分抽出] - [開始] メニュー ・右クリックメニューの[差分抽出] - [開始] メニュー のいずれかで起動します。 2.セルの位置関係の指定 ******************** 一番基本的な指定ですのでまずこれを指定してください。 前の方にも書きましたが再掲します。 【絶対位置比較】  同じセル番地どうしで比較する最も一般的な比較です。 【相対位置比較】  元表全体を一行ずらして作成したものと比較したいなどという時に使用します。 【ランダム比較】  上記は1セル対1セルの比較ですが、このモードは指定セル範囲どうしの  全セルの総当りを行ないます。  比較元のみに含まれる値、比較対象のみに含まれる値、を抽出出来ます。 3.シートの対応関係の指定 ******************** これも基本指定のひとつですので忘れずに指定してください。 同じシート名どうしで対応付ける時は「名前順」、シートの並んだ順(選択順)で 対応付ける時は「並び順」を指定します。 同一ブック内の違うシートどうしの場合は「並び順」になります。 (同一ブック内に同名シートは存在しませんので。) 4.比較元の選択 ******************** 比較元グループ(水色)で比較元を選択します。 以前使用したものがある時はドロップダウンリスト▼から選択することも出来ます。 新規に選択する場合は「参照」ボタンをクリックします。 「ブック選択」「シート選択」「セル選択」ボタンを使って各々を選択します。 何処から選択しても、何処まで選択しても構いません。 例えばブックのみの選択でも構いません。 不要な部分が残っている場合は「クリア」ボタンでクリアします。 「OK」ボタンで確定します。 比較元は一つのみですので選択を確定するとその値が「参照」ボタン左のドロップダ ウンリストに追加され、同時に見易い形で下の表示窓(テキストボックス)に表示さ れます。 5.比較対象の選択 ******************** 比較対象グループ(灰色と黄色)で比較対象を選択します。 基本的な操作方法は比較元の選択と同じです。 比較対象も選択を確定すると一応比較元と同様な形で表示されますが、こちらは複数 選択可能としているため、表示窓のさらに下にリスト(黄色)が準備されていてこの リストに「追加▼」して初めて確定となります。 比較対象の表示窓は、選択時の値(灰色)とリスト(黄色)の値の両方の表示を兼ね ています。どちらかをクリックすればその値が表示されます。現在どちらの値が表示 されているのかは色で判別できます。 ※「参照」ボタンの上手な使い方 「参照」ボタンは表示窓に表示されている値を初期値として使用して「比較元」又は 「比較対象」の選択ダイアログを表示します。選択値の一部変更などの時にはこの機 能を活用してください。 6.比較設定 ******************** 比較設定グループで必要な設定をします。 通常は「セルの比較値」で「値で比較」を選択し、下方の「空セルと0を区別する」 にチェックを入れれば大抵は事足りると思われます。 「テキストで比較」は数値と数字(文字)を区別しない時など、「数式で比較」は入 力されている =A1+B1 などの数式そのものを文字として比較する時に選択します。 「数式(RC形式)で比較」は「相対位置比較」用です。 7.出力設定 ******************** 出力設定グループで必要な設定をします。 「ハイパーリンク」は比較結果表から相違箇所へ1クリックで飛ぶ為の指定です。 「相違行出力」は相違箇所を含む行を丸ごとコピーして別シートへ抽出する指定です。 「文字列比較」は比較結果表内で更に文字列どうしの比較を行ない、文字単位の相違 箇所に色付けする指定です。 8.実行 ******************** 「実行」ボタンで差分抽出を実行します。 「抽出結果1」ブックが作成されます。 ****************************************************************************   【操作説明3.抽出結果】 **************************************************************************** 基本的に見れば分かるようになっていますので、特に必要な事だけ説明します。 ・「値で比較」する場合、エラーセル(#N/A, #DIV/0! など)がある時は比較は実行  されません。抽出結果にその旨が表示されます。 ・異値のセルアドレスは右詰にして最後の部分が見えるようにしてありますが、全体  が見えるように「折り返す」為のメニューが用意してあります。  [折り返し]メニューです。対象セル範囲を「選択」してからこのメニューを適宜実  行してください。 ・ハイパーリンクについて  比較結果表の、元データの異値セルへのハイパーリンクは通常は現在「新規作成」  にて開いている【未保存ブック】へのリンクです。本ソフトが、元ファイルを  「新規作成」にて開いて処理しているためです。  この未保存ブックを保存せずに閉じるか元ファイルに同名で上書き保存すれば、こ  のリンク先は【元ファイル】になります。  (比較元または比較対象のファイルが開きます。)  この未保存ブックを元ファイルとは別に保存するとリンクは切れてしまい、ハイパ  ーリンクをクリックしてもその保存したファイルは開かず、元ファイルが開きます。  これらのリンク先に関する動作は【エクセルの仕様】です。 ・「相違行出力」では比較対象1件毎に1シートへ行が抽出されます。つまり比較対  象の件数分のシート(行Data1_1, 行Data1_2, ...)が追加されます。 ・「相違行出力」シートではオートフィルタが設定されていて「比較元」「比較対象」  のみにデータを絞ることが出来ます。別ブックなどへのコピー時に利用して下さい。 ・「文字列比較」をすれば「値」列の文字列どうしが比較されて違う文字が赤色にな  りますが、この機能は文字どおりの「文字列」に対するものですので「値で比較」  の時には機能しない場合もあります。(文字列以外の数値や日付などの場合) ・「文字列比較」では空白文字(" " や " ")にも色が設定されますが、空白文字  は元々色を付けても透明で見えませんので見た目では確認できません。 ****************************************************************************   【操作説明4.その他】 **************************************************************************** ◆「空セルと0を区別する」について 「値で比較」する場合、エクセルでは通常「空セル=0」「空セル=""」と評価され ます。セルへの数式入力でも例えば、A1が空セルでB1に「=A1」と入力すればB1には 0が表示されます。 これはエクセルの基本的な仕様なのですが「比較」と言う面から見ると非常に困った 仕様で、数式を組み立てるのに苦労されている方も多数いらっしゃるのではないかと 思います。 そこで、本ソフトではこの「空セルと0を区別する」機能を追加して比較出来るよう にしました。内部的な動作としては、この機能を有効にするとまず各評価値のデータ 型が比較されます。(未初期化(空セル)、数値、文字、日付、通貨、論理値) データ型が違えばその時点で異値と評価します。そして、同じデータ型であれば後は 普通に同じかどうかが評価されます。 ◆「ツールバーを表示しない」設定について 本ソフトをアドインとして設定して使用する場合、通常エクセル起動時に毎回「差分 抽出」ツールバーが表示されますが、この設定は、そんなに頻繁には使用しないので 一々消すのが面倒だという方のための機能です。 メインダイアログ「エクセル差分抽出」の左下にこのチェックボックスがありますの でチェックすればエクセル起動時にツールバーは表示されません。 (表示するには普通に「ツールバーの表示」をして下さい。チェックを入れても表示 されていないだけで、存在はしていますので。) ◆簡易実行モード シート上の【2領域選択後】右クリックメニューの[差分抽出] - [開始]によって実行 すると、簡易実行モードでメインダイアログが開きます。 この方法で[開始]した場合、メインダイアログ「エクセル差分抽出」の「比較元」と 「比較対象」が、その選択した2領域各々に設定された状態で開きます。 (通常は、前回実行した内容がそのまま残っています。) この機能は例えば同じシート内のA列とC列の比較などに使用する時に利用すると、セ ル範囲選択の手間が省力化出来、非常に便利です。 (2領域は列に限りません。行でも矩形範囲でも構いません。) なお、この方法の[開始]時の「セルの位置関係」は「相対位置比較」と「ランダム比 較」のみが可です。(同一シート内で「絶対位置比較」はありえませんので。) ◆セルの色塗りについて 塗りつぶし実行時にリセットは行なわれません。つまり、同じセル範囲に対して条件 を変えて2度実行する時など、元々色塗りされているセルがある時にはその塗られた セルを透明に戻すような動作はしません。 色塗りは【その実行時の異値セル】に対してだけ実行され、他のセルの色は変更され ません。 もし一旦色をすべて無しにしてから実行したいと言う時の為に[色リセット]メニュー があります。適宜利用してください。 ◆「実処理範囲に網掛け」について 本ソフトでは「比較元」と「比較対象」のセル範囲をかなり自由に選択できます。 ブックのみでもシートのみでも又列や行でも選択できます。さらに一方をシートもう 一方をセル範囲などという選択も可能です。 しかし、例えばシートのみを選択したとしてもその全セル範囲(Excel2002では約6万 5千行×256列)を検索対象にしたのでは処理時間の無駄になりますので、この場合は そのシートの使用済セル範囲を対象にします。列や行を選択した時も同様です。 さらに「セルの位置関係」の種類に対して無効な指定がされてしまったりした時には 自動的にそれを補正したりしています。 ということで、実際の処理がどのセル範囲で行なわれたのかを確認する為の機能がこ れです。一応確認したいと思われるかなと思い、この機能を付けましたが、実用上は ほとんど必要が無いと思われます。処理範囲はプログラムで適切に設定していますの で。 ほとんど必要ない、と今書いたばかりですが実は一つだけ非常に有効な活用方法があ ります。それは【差分が幾つ在るかだけを知りたい】と言う場合です。 本ソフトでは「出力設定」グループのいずれかの項目にチェックを入れてないと「実 行」出来ない仕様になっていますが、実は処理の中で一番時間が掛かるのがこの「出 力」なのです。ですから、設定項目は必要最小限に留めて置いた方が良いのです。 「相違箇所抽出の最大数」と言う項目がありますが、これは「抽出」と書いたとおり で出力時の数制限なのです。 実は比較処理自体はこの項目の設定如何にかかわらず最後まで行なわれます。「比較 処理」と「出力処理」を比べるとその処理時間は雲泥の差であり、処理時間のほとん どは出力処理が占めていると言っても過言ではありません。 そのため、制限は「抽出」(出力)の数だけにしてあります。 その出力項目の中でもほとんど処理時間に影響を与えないのがこの「実処理範囲に網 掛け」なのです。ですからこの項目だけにチェックを入れ、あとの項目のチェックを 外した状態で実行すれば、最短の時間で【差分の数】だけを確認することが出来ると いうわけです。 ****************************************************************************   【メニュー項目について】 **************************************************************************** ほとんど説明の必要が無いと思いますが一応書いておきます。 ・[開始] ... メインダイアログを表示します。(前回値がそのまま表示されます。) ・[折り返し] - [て全体を表示]      ... 選択範囲のセル書式を「折り返して全体を表示する」に設定します。 ・[折り返し] - [解除]      ... 「折り返して全体を表示する」を解除します。 ・[色リセット] - [選択範囲] ... 選択範囲のセルを「塗りつぶしなし」にします。 ・[色リセット] - [シート] ..... アクティブシート全体を「塗りつぶしなし」にします。 ・[色リセット] - [ブック] ..... アクティブブック全体を「塗りつぶしなし」にします。 ・[システムリセット] ... 本ソフトを一旦閉じ再び開くのとほぼ同じ動作をします。   設定値はクリアされません。設定値を完全にクリアし初期の状態に戻す時は、   エクセル差分抽出.iniを削除して下さい。次回実行時に自動作成されます。 ・[ヘルプ] ............... エクセルブック版の説明書を表示します。 ・[バージョン情報] ....... 本ソフトのバージョン情報を表示します。 ・[終了] ....... 本ソフトを閉じ、追加されたメニューやツールバーも削除されます。 ・[サンプルデータ作成] ... テスト用のサンプルデータを作成します。 ・[ライセンス] - [お支払い方法]      ... お支払い方法のご案内ダイアログを開きます。      ダイアログ上のボタンからリンク先を開くことが出来ます。 ・[ライセンス] - [登録]      ... 入手したライセンスキーを登録するメニューです。     (ライセンスキーが登録済みの場合はその旨表示されます。登録済みか否か      の確認はこのメニューで行なってください。) ****************************************************************************   【お問い合わせ】 **************************************************************************** ・お支払い手続きが完了してから、電子メールにて承ります。  ・ご購入時のお名前とメールアドレスおよびお申込番号が必要です。   (銀行振込の場合はお申込番号はありません。)  ・OSとExcelのバージョンもお知らせください。 ・ご回答に多少時間がかかる場合がありますので、予めご了承ください。  ・お問い合わせ先    だるま(鈴木正国)    E-mail:daruma3.vbaアットマークoffice.tnc.ne.jp    (スパムメール対策です↑を「@」に変えてください。) ****************************************************************************   【付録:WigMenu説明書抜粋】 **************************************************************************** ◆WigMenuとは Excelマクロファイルを開く時に、無用な「マクロの警告」を出させないための専用 メニューソフトです。 Excelではバージョンアップの度にセキュリティ機能が強化されて「マクロウイルス」 への対策がなされてきました。 「マクロウイルス」と言っても馬鹿には出来ません。 Excelマクロ(VBA)は簡単に作れます。しかもVBAでのディスクアクセスも容易で、 ファイルを削除するなどという悪業も簡単に出来てしまいます。 ウイルス本来の伝染機能は簡単ではないかもしれませんが、悪さをするマクロファイ ルを匿名メールでばらまくことは、その気になれば容易に出来てしまいます。 その対策のための「マクロの警告」なのですが、自分たちが作った「信頼のおける マクロ」でも「警告」は表示されます。 そして、いつも「警告」を無視して「マクロを有効にする」をクリックする「癖」を つけてしまうことは非常に危険です。PCに不慣れな方の場合はなおさらです。 いざ怪しい「警告」が表示された時に、いつもの「癖」で「マクロを有効にする」を クリックしてしまったら最後、後どうなるかは怪しいマクロしだいとなってしまいま す。 そこで、WigMenuの出番です。 「マクロの警告」を出したくない「信頼のおけるマクロ」をあらかじめ設定ファイル に登録しておきます。 すると、登録されている「信頼のおけるマクロ」がメニューバーなどにメニュー項目 として追加表示されます。 そしてメニューからは「マクロの警告」表示なしで実行が可能となるわけです。 もちろん、セキュリティは「中または高」(97の場合は「マクロウイルスから保護する」に チェック)で使用するので、登録外の不審なマクロが開かれようとした時にはしっか りと「警告」が表示されます。 ◆WigMenuの特徴 ・メニューへの設定がとても簡単です。  ワークシート上で、メニュー表示名・マクロファイル名・実行マクロ名を  編集できます。 ・メニューの追加はワークシートメニューバー以外にグラフ(Chart)・セル(Cell)・  列(Column)・行(Row)他、ほとんど全てのコマンドバーに可能です。 ◆インストール方法 ◇スタンドアロン(LAN未使用)の場合  1.ダウンロードした書庫ファイルを解凍し、使用するPCの適当なフォルダに解凍    したファイルを入れます。    たとえば、c:\Program Files\WigMenu\ など。  2.Excelを起動し、[ツール]-[アドイン]で上記の WigMenu.xla を指定します。 ◇LAN使用の場合  1.ダウンロードした書庫ファイルを解凍し、サーバー又はサーバー代わりとする    PCの適当な共有フォルダに、解凍したファイルを入れます。    たとえば、\\サーバー名\共有ツール\WigMenu\ など。  2.クライアントPCでExcelを起動し、[ツール]-[アドイン]で上記ネットワーク上    のWigMenu.xla を指定します。  3.実行するすべてのクライアントPCでアドインの設定を行ないます。 以上