• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL2007のマクロで2つのBOOKを比較)

EXCEL2007のマクロで2つのBOOKを比較

このQ&Aのポイント
  • EXCEL2007のマクロでABook,BBookと2つのBookのセルを比較し、数値の違うセルがある場合、BBookの新しいsheetに数値の違うセルの番地を記録するマクロを作成することはできますか?
  • マクロの骨格は、Forループを使って新しいsheetのA列に数値の違うセルの番地を記録することを考えています。
  • 具体的には、新たに作成したsheetのA1に数値の違うセルの番地(例えばE5)を入力する方法がわかりません。どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

落ち着いて,やるべき事を淡々とやっていきます。 sub macro1()  dim ws1 as worksheet  dim ws2 as worksheet  dim ws3 as worksheet  dim target as range  dim r as long, c as long  dim rx as long, cx as long  dim n as long    set ws1 = workbooks("book1.xls").worksheets("明細")  set ws2 = workbooks("Book2.xls").worksheets("明細")  set ws3 = workbooks("Book2.xls").worksheets("エラーセル") ’範囲を確定する  rx = ws1.cells.specialcells(xlcelltypelastcell).row  rx = application.max(rx, ws2.cells.specialcells(xlcelltypelastcells).row)  cx = ws1.cells.specialcells(xlcelltypelastcell).column  cx = application.max(rx, ws2.cells.specialcells(xlcelltypelastcells).column) ’比較する  for c = 1 to cx  for r = 1 to rx   if ws1.cells(r, c).value <> ws2.cells(r, c).value then   ’違うときは記録する    n = n + 1    ws3.cells(n, "A") = cells(r, c).address   end if  next r  next c end sub 皆さんから寄せられたアイデア(サンプルマクロ)を参考に,もう一度ご自分なりに「何をしたらいいのか」考えを箇条書きにしてみると良いかもしれませんね。 たとえば「どこの範囲を調べたらいいのかの決め方」とか「どこは/どういう状況のセルは調べなくて良いからスキップして高速化しよう」の工夫とか。

19560816
質問者

お礼

ご回答頂きまして、大変有難う御座います。さっそく落ち着いて考えてみます。また、実行したいと考えております。結果は明日にあるかも知れません。とにかくご回答頂き本当に有難う御座います。田の方も、こうせればと言うのがあれば、投稿を宜しくお願い申し上げます。

関連するQ&A