「レイアウトも格納されているデータの順番も同じ2つのシートから、内容の違っているセルを探したい!」ってことありませんか。「説明は要(い)らないから、すぐに実行したい!」方は、3.すぐに実行したいにスキップ下さい。行数が1万行とか、あまりにも多い場合に人間の目で比較して探すのは、時間が掛かり見落としもあったりとたいへんな作業です。2つのシートから3つ目のシートに異なるセルをピックアップするプログラムを作成しました。プログラムであれば、早くて正確にピックアップできます。この記事は、Excel-VBAを起動して貼り付ければ動作することを目指しています。理解されていない方は、以下の記事を参照しながら一度やってみてから対応されることをお勧めします。パソコンをお使いの方の多くは、表計算ソフトExcelを利用されていると思います。・Excel-VB...jibun-kaizen.com2021.01.07実行中に発生したエラーの対処法は、上記記事の2.エラーが発生したときの対処法に記載しています。今回のサンプルプログラムはシート1とシート2の内容を比較して、異なる内容をシート3に出力するです。プログラムの概要は以下の通りです。・同じフォーマットで一部の値が異なる2つのシートがあり、シート3に「値が異なるセルの内容」を出力する・基のシートの異なる部分には、マーキングするデータ量が多い場合、目視で探すのは不可能に近く、見間違えもあり非効率です。そんな時に対応するプログラムです。ファイルの更新系プログラム(追加・削除を伴わない)のテスト確認で、更新前後のファイルを比較するときなどにも使えます。実行までの手順1.Excelを起動2.データ入力Excel2007以降は、Sheet1のみであるためシートを2つ追加し、全部で3つ作成しておきます。Book1のSheet1とSheet2のセル[A1]~[E5]に、分かりやすいようにセルの番号を入力します。Sheet1とSheet2の何ヵ所かの値を変えます。3.Excel-VBAを起動Altを押した状態でF8キーを押します。4.[マクロ名(M):]に'test'と入力(''は不要、''内のtestを入力)5.[作成(C)]をクリック私はマクロ名を入力したら、そのままEnterを押します。Sub7.F5キーで実行8.実行結果の確認Book1に切り替えて下さい。Altを押した状態でTabキーを押して、Book1に位置づいたらTabキーを離すことで切り替わります。シート1、シート2でマーキングされているセルが異なる部分です。シート3には、異なる内容が出力されています。ついて都度、シートを別ファイルから持ってきたり、sheet3は手でクリアしたり、削除して再度作成するなどの対応であれば不要です。ついてセル番号を出力する方法は他にもありまが、[.Address]がスッキリしているので採用しました。[$A$1]のように'$'が付いてきます。そのため次の命令[Replace]で、'$'を無くす処理を入れました。ついてネットにて'vbcolor'で検索できます。・比較する範囲を自動で設定する上記プログラムでは、行と列の数を「5」と固定した値で作成しました。Sheet1のセル[A1]にカーソルがある状態で[Crtl]&[End]キー押して、データが格納されている最後の行列を取得し使用する場合には以下のようにします。最後にこのプログラムは、シート1とシート2について、セル[A1][A2][A3][A4][A5][B1][B2]・・・[C3][C4][C5]と一つひとつ比較し、異なる部分をシート3に出力するプログラムでした。最初のシートフォーマットやシートをクリアする処理、セルにマーキングする処理が不要だったり、逆にシート3に出力する処理が不要だったり、ケースは多々あると思います。使うシーンに応じて対応して頂ければと思います。以下の条件でデータが揃っていれば、VBAを起動し貼り付け実行できます。・Sheet1とSheet2に行列数とも同じ比較対象データを格納しておく・Sheet3を空白で作成しておく処理の最初に確認のため、比較対象の行数と列数をメッセージ表示していますが、[OK]ボタンをクリックします。比較するファイルを手動で開いて別のExcelにコピーしたり貼り付けるのではなく、自動で読み込んでコピーしてファイルを作成するプログラムです。このプログラムも比較するファイルの行列数とも同じであることが条件です。所定のフォルダに比較対象のファイルを2つ格納してプログラムを実行すると、2つのファイルを新たオープンしたファイルのシート1、シート2にコピーして、かつ、異なるセル情報をシート3に出力してファイルを作成します。<実行前><実行後>手順は以下です。1.比較対象のファイルを格納この説明では1つのフォルダ内に格納していますが、アクセスできるフォルダであればどこでも構いません。上記イメージの「データファイル1.xlsx」、「データファイル2.xlsx」です。上記イメージの「比較表作成.xlsm」は、当設定シートと[3.]のプログラムが一体となったマクロファイルです。1度だけの実行であればマクロファイルとして保存しておく必要はありません。プログラム実行の最後に保存する・しないの確認があり、Excel2007以降であればマクロを選択して保存します。3.以下のプログラムをコピー、ExcelVBAを起動し、マクロの作成で貼り付けて実行ExcelVBAの起動は、Altを押した状態でF8キーを押します。Sub'の全てを消してから貼り付けます。このとき作成で指定したマクロ名が[compare]に置き換わりますので、指定したマクロ名にしたい場合は貼り付けたあとに[compare]を修正します。Next'各シートのカーソルをA1へ移動しておく。"出力ファイルがあります。VBAマクロ''を実行できません。コメントをキャンセルメールアドレスが公開されることはありません。※コメントは日本語で入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。VBAスポンサーリンクプロフィールはじめまして、健史(たけふみ)と申します。このブログにお越し頂き、ありがとうございます。私は若いころから不摂生な生活を送ってきたために、いろいろな病気や慢性痛になりました。(3)人気記事マクロ''を実行できません。自分で改善.メニューホーム記事一覧プロフィールお問い合わせホーム検索トップサイドバ。