• ベストアンサー

セルの値で別BookのSheetを開く

EXCELのVBAで、特定のBook(元データ.xls)のA1セルに入力された文字列と同じ名前の別Book(format.xls)のSheet(元データ)を開くようにしたいのですがうまくいきません。 VBAはほぼ素人で、いろいろなページを参考につぎはぎで作りました。 どうか、宜しくお願いします。。。 Dim a As String a = Workbooks(\"元データ.xls\").Worksheets(\"Sheet1\").Cells(1, 1).Value ActiveCell.FormulaR1C1 = \"=LEFT(bookname(),FIND(\"\".\"\",bookname())-1)\" Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False   >> 元データ.xlsのA1にはファイル名を取得(除く.xls)して、値貼り付けするようにしています。          Workbooks(\"format.xls\").Activate Worksheets(a).Select     ↑ココがうまく行かないようです。 が、一度失敗して2回目は上手く動きます。なぜなのかわかりません。

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

  • ベストアンサー
  • kikujack
  • ベストアンサー率47% (17/36)
回答No.2

下記のコードはどうでしょう: Dim a, filepath As String a=Workbooks(\"元データ.xls\").Worksheets(\"Sheet1\").Cells(1, 1).Value filepath = ActiveWorkbook.Path & "\" & a Workbooks.Open filepath Workbooks(a).Worksheets("元データ").Select

manyan11
質問者

お礼

ありがとうございます。 上手くいきそうです♪

その他の回答 (1)

  • netmelon
  • ベストアンサー率33% (1/3)
回答No.1

コードを見た限りでは、ちょっと意味が分りません。 下記ではダメなんですか?? Dim a As String a = Workbooks("元データ.xls").Worksheets("Sheet1").Range("A1").Value Workbooks("format.xls").Activate Workbooks("format.xls").Worksheets(a).Select

manyan11
質問者

お礼

早速のご回答ありがとうございました。 試してみたところ・・・結果は同じでした。 すみません。。。 でも、Rangeで良かったのですね。参考になりました。

関連するQ&A