- ベストアンサー
セルの値で別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回目は上手く動きます。なぜなのかわかりません。
- みんなの回答 (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
その他の回答 (1)
- netmelon
- ベストアンサー率33% (1/3)
コードを見た限りでは、ちょっと意味が分りません。 下記ではダメなんですか?? Dim a As String a = Workbooks("元データ.xls").Worksheets("Sheet1").Range("A1").Value Workbooks("format.xls").Activate Workbooks("format.xls").Worksheets(a).Select
お礼
早速のご回答ありがとうございました。 試してみたところ・・・結果は同じでした。 すみません。。。 でも、Rangeで良かったのですね。参考になりました。
お礼
ありがとうございます。 上手くいきそうです♪