| 
    
     |  | お世話になります。 
 ユーザーフォームをモードレスで表示し、別BOOKをいろいろ編集するマクロを作っています。
 その中で、ショートカットキーで動作するコードを標準モジュールに作成しているのですが、
 当然ながら
 
 当該マクロが記載されたBOOKが開いている間は、作成したショートカットキー動作のマクロが常時有効になっています。
 
 編集作業上いろいろ不都合もあり、
 ユーザーフォームにマクロショートカットキー有効/無効のチェックボックスを配置し制御したい、
 
 と考え、下記のコードを追加してみました。
 
 標準モジュール
 module20に記述
 ************************************
 'Sub リンクペースト連続()
 ' On Error GoTo errMSG
 ' ActiveSheet.Paste Link:=True
 ' Exit Sub
 ' errMSG:
 '  MsgBox "リンク元を選択して下さい。"
 'End Sub
 ************************************
 
 ユーザーフォーム
 ************************************
 'Private Sub Chb1_Click()
 ''ショートカットキーCtrl+x
 ' If Chb1 = True Then
 '  Application.OnKey "^x", "module20"
 ' Else
 '  Application.OnKey "^x", ""
 ' End If
 'End Sub
 *************************************
 
 実行したところ、ウォッチウインドウにて
 
 ウォッチ式が不正です。 Empty
 
 となってしまいます。
 どこが間違っているのでしょうか?
 解決策が有ればヒントをお教え下さい。
 
 上記コードの場合の操作手順としては
 1.Chb1にチェックを入れ
 2.コピーするセルを選択し
 3.ペーストするセルを選択、Ctrl+xでリンク貼り付け
 としたいのです。
 
 Excel2007を使っています。
 当方、初心者とお考えください。
 
 
 よろしくお願いします。
 
 |  |