解決済みの質問
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
下記のコードはどうでしょう:
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
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(1件中 1~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