• 締切済み

Excel 操作したいbookをActiveにする

こんにちは。 Excel 2007を使用しています。 今、作業手順がマクロで書いてあるファイルをmacro.xlsm 操作したいファイルをobject.xlsxとします。(名前は適宜変わります) また、両方のファイルをExcelで開いておきます。 マクロを実行させたいのですがmacro.xlsmをActiveにしないと マクロが実行できませんし、macro.xlsm自身を操作対象として 作業が始まってしまいます。 一番望ましいのはmacro.xlsmをActiveにしてマクロ開始キー (Ctrl+Shift+M) または「ボタン」などで対象となるファイルを選択して 操作を実行させたいのです。 なお条件としてExcelには上記の2つのファイルしか開いていません。 方法をご存じの方お教えください。

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>今、作業手順がマクロで書いてあるファイルをmacro.xlsm マクロの書いてあるファイルはThisWorkbook なのでThisWorkbook.Activate

  • wa-ro-su
  • ベストアンサー率37% (18/48)
回答No.1

object.xlsxが都度名前が変わるということで、ダイアログで表示させて、選択するようにすると便利かと思います。 Dim FileName As String FileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") Workbooks.Open FileName または、二つしかファイルを開いていないと言うことなので、For Each で設定することも可能です。 Dim WB Dim MyBook as String For Each WB in Workbooks If Not WB.Name = "object.xlsx" Then MyBook = WB.Name End If Next WorkBooks(MyBook).Activate

sherman
質問者

お礼

大変早い回答ありがとうございます。 両方のマクロを試しましたが、「二つしかファイルを開いていない」 ので2番目のマクロの方がダイアログが出ず速いの2番目を使わせて いただきます。 ありがとうございました

関連するQ&A

  • (VBA一部使用中)手作業部分を減らしたいです・・

    こんばんは、 EXCEL2010を使っています。 A.xlsm B.xlsm C.xlsm BOOK1.xlsx ~ BOOK10.xlsx(ファイルごとに行数はバラバラ、列数はA~Dで固定) というファイルがあり、すべて開いている状態です。 使用しているのはすべてSheet1のみです。 1.BOOK1.xlsxのA~D列を手動でコピー 2.A.xlsmのA~D列にBOOK1.xlsxのA~D列を手動で貼付け macro1というマクロを実行(A~E列をマクロでB.xlsmのA~E列にコピー&貼付け) 3.B.xlsmでmacro2というマクロを実行(I1~K1に数値が出現、マクロでコピー状態) 4.C.xlsmのB18~D18に手動で貼付け 5.1に戻ってBOOK2.xlsxで以下同じ作業   C19~D19に貼付け   これをBOOK10.xlsxまで続けて保存 これをA,B,Cのファイルを使用したまま マクロを使って簡略化することは可能でしょうか? (例えばボタンを押したら1~4までを自動でやってくれるような) よろしくお願いいたします。

  • 他ブックを実行するマクロ

    あるexcelファイル(ブック名「自動操作.xlsm」)からべつのexcelファイル(ブック名「a.xlsm」)というファイルを実行するマクロを組んでいます。 Application.Runを用いて「自動操作.xlsm」のコードを以下のように記述しました。 ※「\」は半角の円マークだと考えてくれればいいです。ここで半角の円マークをかいても\と表示されます。また、自動操作とaは同じディレクトリにあります。 Sub Test1() Application.Run "'C:Users\ディレクトリ名\a.xlsm'!test" End Sub また、「a.xlsm」は以下のように記述しました。 Sub test() Dim i As Integer For i = 1 To 5 '移動元ファイルパスの設定 Cells(i, 1) = i Next End Sub ただ1~5行にその行数を記入するマクロです。 a.xlsmを開いた状態でこれを実行すると、「アプリケーション定義またはオブジェクト定義のエラーです」とでます。 a.xlsmを閉じた状態で実行すると、「このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります」とでます。 いったいなにを間違えているのでしょうか。

  • フォルダ内の全てのブックを一つのブックへ

    エクセル2010を使っています。 フォルダ内の全てのブックの一番目のシートのみを、 BBB.xlsmというファイルの後ろへ全て1シートずつコピーしたいです。 又はBBB.xlsxでもいいです。 運用していく中で、マクロ用のファイルと作業用のファイルを分けるべきか、 一緒にするべきかも悩んでいます。 フォルダはその都度変わります。 ネットを検索してみたのですが、中々難しく、悩んでいます。 どうぞよろしくお願いします。

  • EXCELのキーボードショートカットの空きを教えてください。

     エクセルでマクロを組んで,キーボードショートカットに割り当てようと思うと,元々のショートカットの割り当てが多く,また,Windows標準のショートカットもあるので,どこが空いているのか良く分かりません。  割り当てたいマクロが結構多いのですが,  CTRL+キー,及びShift+CTRL+キーの空きをご存じの方は,お教えいただけませんでしょうか?  特に,よく使う操作はCTRL+キーに割り当てたいので,こちらだけでも分かると非常に助かります。

  • Application.Run実行時にエラー

     Excelファイルのマクロで、デスクトップ上の別ファイル「test.xlsm」のマクロ「Macro2」を実行させるため、以下のマクロを作成し実行したところ、 以下のエラーメッセージが出て正常動作できませんでした。 何が原因でしょうか? なお、Macro2は単独で実行した場合は正しく動作しています。 よろしくお願いします。 [作成したマクロ] Sub Macro1() Application.Run "C:¥Users¥****¥Desktop¥test.xlsm!Macro2" End Sub [エラーメッセージの内容] 実行時エラー’1004’ マクロ"C:¥Users¥****¥Desktop¥test.xlsm!Macro2"を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。

  • エクセル VBA ショートカットキーの設定場所と変更

    普通にエクセル(2002Sp3)を起動して、マクロ登録を行います。 そのマクロに「キー割り当て」で「Ctrl+Shift+S」を割り当てました。 マクロの内容は仮に下記のようなものだとします。 ----------------------- Sub Macro1() MsgBox "###" End Sub ----------------------- これを、MyTools.xlaとして保存します。 アドイン設定でMyTools.xlaを使用できるようにします。 エクセルを一度終了して、新規にエクセルを起動し、先ほど行った「Ctrl+Shift+S」を押すと、メッセージボックスが表示されます。 (キー割り当てが有効に動作している) ここまでは問題ありません。 本題の、MyTools.xlaの中では、 「キー割り当て」「Ctrl+Shift+S」 これは、どこで設定されているのでしょうか。 キー割り当てを変更しようとした時に見つけることができませんでした。 よろしくお願いします。

  • 「開いているすべてのブック」に保存したマクロの削除

    パソコンド素人です。マクロが含まれたほかのエクセルブックを多数開いたまま、エクセルマクロ初心者講座(http://kabu-macro.com/kouza/macro/macro_jikkou.html)を見ながら、A1のセルのデータを消去するマクロを作って実行したところ、実行時の保存先が「開いてるすべてのブック」になっていたからなのか、他のエクセルのブックでも新しくシートを作っても、Ctrl+Z (ショートカットを作っていました)でA1のデータが削除されるようになってしまいました。(実行前には標準モジュールのModule2にこのVBAが入ってたのを確認したのですが、実行後にはModule2がなくなっていました) このままでも問題はないのですが、わからないのは悔しいので、どなたかこのマクロの削除方法を教えてください!  個人用マクロブックとやらにあるらしいことはわかったのですが、そのファイルが検索しても出てきません。OSはVistaでエクセル2000と2007を使用してます。ちなみにエクセル2000でこのマクロを作ったのに2007でもCtrl+ZでA1のデータが削除されます。 よろしくお願いします。

  • Excel ユーザー定義関数入力方法

    ユーザー定義関数はその関数を作ったファイルでないと セルに直接入力しても関数は出ないのですか 例えば Book1.xlsxとmacro.xlsmというファイルがあります。 macro.xlsmファイルにユーザー定義関数を作成しました。 macro.xlsmだとセルに直接入力しても作成した関数が候補が出ます。 Book1.xlsxだと関数の挿入から見つけないといけません。 macro.xlsmのファイルのThisWorkbookには Private Sub Workbook_Open() Application.MacroOptions _ Macro:="aaa", _ Description:="説明" End Sub と入ってます。

  • Excel xlsmをxlsxに変換

    お世話になります。 Excel2010 マクロ付きファイル(xlsm)を、設定変更等によってマクロを残したまま xlsxで保存する方法はありますでしょうか。

  • エクセルのマクロをファンクションキーに割り当てたい

    エクセルでマクロを使って作業をしているのですが、単純作業なだけになるべく楽に作業をしたいのですが、ファンクションキーにマクロの操作を割り当てることはできますか? 例えば、 F1で「ファイルを開くマクロ実行」 F2で「ファイルを加工するマクロ実行」 F3で「加工したファイルを保存するマクロ実行」 みたいな感じで。フリーのソフトなどがあれば教えてください。

専門家に質問してみよう