• ベストアンサー

別のブックから、特定のシートを指定して他のブックを開くには

マクロ初心者です。 A.xlsと、B.xlsという2つのブックがあります。 B.xlsはこの時、閉じた状態です。 Aには1つのシートのみがあって、Bには日毎に追加されていく不特定数のシートがあります。 Aのブックのシート内のセル番地A1に、「aaa」と入力した場合、B内の「aaa」という名前のシート名を指定してB.xlsを開くマクロはどう書いたら良いのでしょうか。 頼りきりの質問になってしまって申しわけございません。 何卒宜しくお願い申し上げます。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

マクロ記録を取ればある程度作れてしまうと思いますが、予め開くシート名を変数に取得しておく方が簡単でしょう。 A1セルに入力シート名が必ずあるならMacro1でよいですが、入力ミスなども想定しておくならMacro2の方がよいと思います。 ブックAとブックBが別フォルダに存在しているなら、4行目のOpenメソッドは "C:\WORK\B.xls" のようにフルパスで記述してください Sub Macro1() Dim wh As String   wh = Range("A1").Value   Workbooks.Open "B.xls"   Worksheets(wh).Activate End Sub Sub Macro2() Dim wh As String   wh = Range("A1").Value   Workbooks.Open "B.xls"   On Error GoTo err0   Worksheets(wh).Activate   Exit Sub err0:   Worksheets(1).Activate End Sub

ho-so
質問者

お礼

すばらしいです。 Macro2の方を使わせていただき、思い通りのマクロになりました。 1日がかりで悩んでいた所でしたので、助かりました。 本当に有難うございました!

その他の回答 (1)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

ブックを起動後指定のシートを表示、となると思います。 ブック起動、指定のシートを表示はそれぞれマクロの自動記録で ある程度のコードが得られます。

ho-so
質問者

お礼

なるほど。参考になります。有難うございました。

関連するQ&A