![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?e8efa67)
No.2ベストアンサー
- 回答日時:
申し訳ありません、補足です。
。OnKeyメソッドの場合、該当ブックを閉じてもエクセルを一旦終了させるまでショートカットキーがブックで設定した内容がそのまま有効になってしまうようです。
その為ショートカットを元に戻したい場合は面倒ですが一旦エクセル自体を終了させる必要があります。
もしくは該当ブックのThisworkbookモジュール内に追加で
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^u"
End Sub
と入れる方法でも良いかもしれません。
(マクロ名を外すことでショートカットの適用が解除されます)
MacroOptionsでも試しましたがこちらはマクロのダイアログをVBAで書き換えるというメソッドの為、個人用マクロブックと同じショートカットキーには出来ないようでしたm(_ _)m
No.3
- 回答日時:
私も、久々に、こんなマクロを考えてみました。
PERSONAL.XLSBに登録します。
'Class1モジュール
Private WithEvents NewApp As Application
Public Property Set myNewApp(ByVal myApp As Application)
Set NewApp = myApp 'セキュリティを考えて、カプセル化しました。
End Property
Private Sub NewApp_WorkbookActivate(ByVal Wb As Workbook)
If StrConv(Wb.Name, vbUpperCase) Like "AB*" Then
'ファイル名にABとついたものだけ、マクロ1にする
Application.OnKey "^g", "myMacro1" 'マクロ1
Else
Application.OnKey "^g", "myMacro2" 'マクロ2
End If
End Sub
'標準モジュール:
Public myClass As Class1
Sub Auto_Open()
Set myClass = New Class1
Set myClass.myNewApp = Excel.Application
End Sub
Public Sub myMacro1()
MsgBox "Date: " & Date '特定のブックでは、日付
End Sub
Public Sub myMacro2()
MsgBox "Time: " & Time '普通のブックでは、時間
End Sub
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?e8efa67)
No.1
- 回答日時:
もしかしたらエクセルのバージョン等の環境によって違ってくるかもしれないですが、当方のエクセル2007では除外したいファイルにApplication.Onkey等を割り当てておくことで個人用マクロブックの適用は除外されました。
例えばCtrl+uを割り当てたいのであれば、以下の様なコードを対象ファイルのThisworkbookモジュール内に記述します。
Private Sub Workbook_Open()
Application.OnKey "^{u}", "Macro1" 'Ctrl+uでMacro1を呼び出し
End Sub
~Onkeyの他にもMacroOptionsというメソッドもあるようです。。
http://www.moug.net/tech/exvba/0150112.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/05/23 15:54
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/03/31 12:46
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のパソコンでエクセルのマク...
-
VBA マクロ実行時エラー’1004Ra...
-
EXCEL マクロ クリップボードク...
-
エクセル終了時の保存確認メッ...
-
個人用マクロブックのマクロを...
-
VBAを一度起動するとずっと出て...
-
エクセル2013vbaで、見えない名...
-
【マクロ】エラーが発生⇒実行時...
-
作成したマクロを共有
-
excelが別プロセスで起動してし...
-
複数のpowerpointのファイルを...
-
マクロを消すマクロは不可能?
-
マクロを設定したのに、拡張子...
-
コピーしたファイルのマクロを...
-
アクセスでファイルを開いたと...
-
ワードを開いた時にメッセージ...
-
外部データを取り込むマクロ
-
エクセルで、ハイパーリンクを...
-
マクロでマクロを削除する
-
AccessからExcelマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
excelファイルに使われているVB...
-
VBA マクロ実行時エラー’1004Ra...
-
コピーしたファイルのマクロを...
-
昨日まで動いていたエクセルの...
-
別のパソコンでエクセルのマク...
-
VBAを一度起動するとずっと出て...
-
マクロを消すマクロは不可能?
-
エクセルファイルを自身のファ...
-
アクセスでファイルを開いたと...
-
EXCEL マクロ クリップボードク...
-
Excelが勝手にシート移動してし...
-
Excelマクロ ファイル名が変わ...
-
excelが別プロセスで起動してし...
-
Excel2010 PERSONAL.xlsbの挙動...
-
エクセルマクロを有効にしない...
-
エクセル2013vbaで、見えない名...
-
エクセルマクロにてパワーポイ...
-
【マクロ】アクティブセルの行...
-
excelのマクロ実行でブロックさ...
おすすめ情報