• ベストアンサー

マクロで、他のブックのあるシートのセルの値を取得する方法

マクロ初心者です。よろしくお願いします。 2つのブックがあるとします(a.xlsとb.xls)。 この2つには似たようなデータが入っているのですが、これらを逐一比較するマクロを組みたいと思っています。 いま行き詰まっているのは、a.xlsの上でマクロを走らせる際、b.xlsのセルの値を取得することができないことです。 IF CELLS(1,1)=「ブックbの(1,1)の値」 THEN ・・・ というような条件式を作りたいのですが、「 」内をどのように書けばよいのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • kmb01
  • ベストアンサー率45% (63/138)
回答No.1

Workbooks("b.xls").Worksheets("Sheet1").Cells(1,1) のように書きます。 b.xlsはあらかじめ開いてある必要があります。 長いのでWithステートメントを使うか、 dim shtb As Worksheet Set shtb = Workbooks("b.xls").Worksheets("Sheet1") として shtb.Cells(1,1) のように書くのがいいと思います。

tarobei
質問者

お礼

なるほど!できました。 これで完成です。 ありがとうございました。

その他の回答 (1)

回答No.2

Workbooks.Open "C:\なんたら\かんたら\b.xls" でフルパスでb.xlsをオープンして、 if Cells(1, 1)= Workbooks("b.xls").Worksheets("Sheet1").Cells(1, 1) then Workbooks("b.xls").Close SaveChanges:=False 終わったらb.xlsをクローズします。

tarobei
質問者

お礼

そうですね!こうすればいちいちb.xlsを開いていなくてもできるのですね! ありがとうございました。

関連するQ&A