• ベストアンサー

他のブックへのジャンプ

マクロボタンを使って他のブックを開きたいのですがどのように マクロを記入したら良いのでしょうか? Workbooks.open(○○.xls)と記入したのですが、うまく作動しません。 すみません。初歩的な質問で… ちなみに他のBookは同じフォルダにあります。

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

  • ベストアンサー
回答No.3

開くだけなら Workbooks.Open filename で大丈夫。 開いたブックをその後の処理で VBA からコントロールしたいのであれば Dim sourceBook As Workbook Set sourceBook = Workbooks.Open filename Dim sourceSheet As Worksheet Set sourceSheet = sourceBook.Worksheets(sheetName) sourceSheet.Cells(1, 1).Value = Thisworkbook.Worksheets(1).Cells(1, 1).Value sourceBook.Save sourceBook.Close 見たいな感じで Workbook オブジェクトや Worksheet オブジェクトの変数で参照するようにします。 ちなみに上記のコードは、VBA コードが書いてあるブックの 1枚目のシートの A1 の値を、開いたブック内の指定したシートの A1 に入力し、上書き保存して閉じる処理です。

mikanjam
質問者

お礼

ありがとうございます。 上書き保存のことまで教えていただいて助かりました。 初歩的なことが解っていなくてすみません。 また教えてください。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

(1)コードの作成 エクセルのマクロの記録をとるモードにして、そのブックを開く操作をすれば、判ることじゃ無いですか。 Workbooks.Open Filename:= _ "C:\Documents and Settings\XXXX\My Documents\ソート.xls" のようなコードになる。 同一フォルダなら Workbooks.Open Filename:= "ソート.xls" でも良い。 (2)マクロをボタンへ登録 例えば http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_01.html の 「マクロをフォームのボタンに登録する」 に書いてある。 VBAの初等的な入門書には必ず載っているよ。

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 Excelには便利な[マクロ記録]というものがあります。 メニュー[ツール]-[マクロ]-[新しいマクロの記録]の事です。 それを参考にされると良いですよ。 >他のBookは同じフォルダにあります。 との事なので、 Workbooks.Open Filename:=ThisWorkbook.Path & "\○○.xls" ...な感じになります。

mikanjam
質問者

お礼

ありがとうございました。 ThisWorkbook.Path & の部分がわかっていなかったので開きませんでした。 大変助かりました。