
特定のシートへ移動するマクロをショートカットで行えるようにしたいと考えて
マクロのオプションからショートカットでマクロを実行することはできたのですが
複数のブックを開いているときに同じショートカットを登録していて片方のマクロのみ実行されるのですがどうしたら回避できますか?
[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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA フォーム上でOnkeyがうまく出来ない
Excel(エクセル)
-
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
ExcelVBA キーイベント設定した関数が別のファイルで実行されエラーになります。回避する方法は?
Visual Basic(VBA)
-
-
4
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
5
エクセルのVBA 特定のセルでエンターキーでマクロ実行
Excel(エクセル)
-
6
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
7
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
8
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
9
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
10
エクセルでマクロを作成してますが、バックスラッシュが入力出来ません。 設定方法等教えて頂けないでしょ
Excel(エクセル)
-
11
Excel VBA マクロ実行中のみテンキー操作できるようにしたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
20歳代と20代 どう違う?
-
MPCについて
-
パワーポイントのハイパーリン...
-
30cm位からジャンプについて。
-
エクセル(ハイパーリンク)に...
-
Windows edgeで楽天HPだけ表示...
-
wordでのhyperlinkマクロ作成方法
-
少年ジャンプの応募者全員サービス
-
エクセルのシート間のリンクで...
-
デッドライジングの隠し通路
-
読書感想文 400字の原稿用紙 4~...
-
医者と患者のジョーク
-
青山剛昌先生へのファンレター...
-
長く新作の発表がない作家への...
-
葬送のフリーレンっておもしろ...
-
ワールドトリガーの第1期でゼ...
-
CLAMP学園探偵団って完結してる...
-
この本って文庫本、単行本中身...
-
1週間くらい前に、体操服の上を...
-
最近のドラクエのパッケージで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
20歳代と20代 どう違う?
-
少年ジャンプの代表作品と言え...
-
Windows edgeで楽天HPだけ表示...
-
エクセルのシート間のリンクで...
-
Application.OnKey でマクロの...
-
MPCについて
-
ワード ショートカットが使えない
-
It works!とは?
-
Excelでハイパーリンクでジャン...
-
ネットしていて、前の画面に戻...
-
IT用語でリダイレクト、ハイパ...
-
メール内でのジャンプ機能
-
Excelでページジャンプ
-
30cm位からジャンプについて。
-
パワーポイントのハイパーリン...
-
エクセルのショートカットにつ...
-
お部屋ジャンプリンクについて
-
ジャンプ力はどうやったら上が...
-
池の小魚がジャンプするのはなぜ
-
ジャンプ+の容量がジャンプの...
おすすめ情報