
特定のシートへ移動するマクロをショートカットで行えるようにしたいと考えて
マクロのオプションからショートカットでマクロを実行することはできたのですが
複数のブックを開いているときに同じショートカットを登録していて片方のマクロのみ実行されるのですがどうしたら回避できますか?
[Ctrl+q]で今選択しているブックの一覧のシートにジャンプしたいです。
アクティブになってるブックのみショートカットを割りあてるようにしたらいいかなって調べて
Application.OnKeyを使えばできそうだったのですが
とりあえず片方のブックに記述してみましたがエラーはでないですがまったく反応してません…なぜでしょうか
Private Sub Worksheet_Activate()
Application.OnKey "^q", "一覧にジャンプ"
End Sub
Private Sub Workbook_Deactivate()
Application.OnKey "^q", ""
End Sub
Sub 一覧にジャンプ()
Worksheets("一覧").Activate
End Sub
ThisWorkbookに記述してます。
No.2ベストアンサー
- 回答日時:
返事が遅くなりました。
Sub Auto_Open() と Sub Auto_Close() のショートカットキーをグローバル化(どこでも使えるようにすること)には、個人用マクロブックの標準モジュールに書くというのが一般的です。
ただし、一覧というシートが全てにあるわけではないので、エラートラップを置いてあげます。
Sub 一覧にジャンプ()
On Error Resume Next
ActiveWorkbook.Worksheets("一覧").Activate
On Error Goto 0
End Sub
として置けばよいと思います。
なお、Activate の意味はご承知だとは思いますが、複数のシートをSelect した状態のままで、目的のシートを前面に出すことも可能だということです。
どちらかというと、シート.Select にする方が多いかもしれません。
No.1
- 回答日時:
以下のマクロは、どこに書いているのですか?
Sub 一覧にジャンプ()
Worksheets("一覧").Activate
End Sub
ThisWorkbook モジュール だったら、これは動きませんね。モジュールを指定しないなら、標準モジュールになってしまいます。同じ場所に書きたかったら、
Worksheet_Activate() の中は、
Application.OnKey "^q", "ThisWorkbook.一覧にジャンプ"
私は、全部、標準モジュールに書きます。呼び出しが楽だからです。
Sub Auto_Open() と Sub Auto_Close() に書きます。
回答ありがとうございます。
ご指摘されたどおりThisWorkbook.つけてませんでした…
そもそもSubプロシージャがsheet_Activateになってました。(;´д`)
ブックがアクティブになってる状態でいつでも有効にしたかったのにバカでした
質問がちょっとずれるのですが
標準モジュールに書いて機能したのは確認できたのですが
同時に他のブックを開いている状態でショートカットキーを打つと反応しなかったりマクロを実行できないといった事が起きてしまいます。
一覧というシートが実はブックごとに"○○一覧"という感じのシート名になっているので
複数ブックを同時に開いているときに選択しているブックでのみ有効なショートカットにしたかったのですができますか?
Sub Auto_Open() と Sub Auto_Close() で書くと開いた直後はいいんですが最初に開いたブックに戻ってきたときに無効なんですよね…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Excel(エクセル) 【VBA】複数ブックから特定のシートを抽出して一つのブックに集約するマクロについて 3 2022/09/04 15:05
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA フォーム上でOnkeyがうまく出来ない
Excel(エクセル)
-
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
VBA auto_openでApplication.onKeyを実行できない
Visual Basic(VBA)
-
-
4
個人用マクロのショートカットが使えない
Excel(エクセル)
-
5
エクセルのVBA 特定のセルでエンターキーでマクロ実行
Excel(エクセル)
-
6
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
7
ExcelVBA キーイベント設定した関数が別のファイルで実行されエラーになります。回避する方法は?
Visual Basic(VBA)
-
8
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
9
ユーザーフォームをショートカットで立ち上げる。
Access(アクセス)
-
10
エクセルVBAのDeleteキーによるエラー
Excel(エクセル)
-
11
エクセルファイルを値でのみしか貼り付けできないようにする
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
少年ジャンプの代表作品と言え...
-
20歳代と20代 どう違う?
-
HUNTER×HUNTERは今。。。?(汗
-
Word(OfficeXP)でしおりの機...
-
MPCについて
-
セルをクリックすると先頭行に...
-
エクセルの質問です、違うシー...
-
viで検索してその行に飛ぶには?
-
スポーツブラつけてもジャンプ...
-
るろうに剣心を読んで
-
エクセル2000について質問です
-
教えて!gooの頻繁トラブル
-
ジャンプの投稿について
-
ExcelVBA「何か入ってるセルま...
-
オートシェイプ同士をリンクさ...
-
大阪ドーム周辺で地震がよく起...
-
いつも見ているHPを開こうとす...
-
csoで寝糞の規約に反してチート...
-
JavaScriptで指定サ...
-
エクセル 保護すると”ユーザー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
20歳代と20代 どう違う?
-
少年ジャンプの代表作品と言え...
-
Excelでハイパーリンクでジャン...
-
MPCについて
-
ワード ショートカットが使えない
-
It works!とは?
-
エクセルのシート間のリンクで...
-
メール内でのジャンプ機能
-
Application.OnKey でマクロの...
-
Excelでページジャンプ
-
ジャンプ+の容量がジャンプの...
-
ネットしていて、前の画面に戻...
-
Word: 目次・相互参照の文字
-
IT用語でリダイレクト、ハイパ...
-
EXCELのHYPERLINK関数の”文字列...
-
WordからPDF保存した時の目次ジ...
-
エクセル 保護すると”ユーザー...
-
ジャンプのさせ方?
-
こんばんは。私は今高校1年生な...
-
大阪で買い逃した少年ジャンプ...
おすすめ情報