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

解決済みの質問

セルの値で別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回目は上手く動きます。なぜなのかわかりません。

投稿日時 - 2008-05-11 14:03:25

連想キーワード:

QNo.4014041

すぐに回答ほしいです

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

下記のコードはどうでしょう:

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

投稿日時 - 2008-05-12 17:54:24

お礼

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

投稿日時 - 2008-05-12 22:55:38

ANo.2

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

コードを見た限りでは、ちょっと意味が分りません。
下記ではダメなんですか??

Dim a As String
a = Workbooks("元データ.xls").Worksheets("Sheet1").Range("A1").Value
Workbooks("format.xls").Activate
Workbooks("format.xls").Worksheets(a).Select

投稿日時 - 2008-05-11 18:12:34

お礼

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

投稿日時 - 2008-05-12 22:50:44

あわせてチェックしたい
  • Workbook ...
  • VBAの「This Workbook」について ...
  • Excel の WorkBookオープンとWorkBookアクティブの ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら