- ベストアンサー
マクロで、他のブックのあるシートのセルの値を取得する方法
マクロ初心者です。よろしくお願いします。 2つのブックがあるとします(a.xlsとb.xls)。 この2つには似たようなデータが入っているのですが、これらを逐一比較するマクロを組みたいと思っています。 いま行き詰まっているのは、a.xlsの上でマクロを走らせる際、b.xlsのセルの値を取得することができないことです。 IF CELLS(1,1)=「ブックbの(1,1)の値」 THEN ・・・ というような条件式を作りたいのですが、「 」内をどのように書けばよいのでしょうか。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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) のように書くのがいいと思います。
その他の回答 (1)
- tinu 2000(@tinu2000)
- ベストアンサー率40% (147/366)
回答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をクローズします。
質問者
お礼
そうですね!こうすればいちいちb.xlsを開いていなくてもできるのですね! ありがとうございました。
お礼
なるほど!できました。 これで完成です。 ありがとうございました。