ここから本文です

(VBA) Onkeyメソッド ThisWorkbookに書かれた、OnKeyメソッドで シートモジュ...

sun********さん

2017/4/1515:28:22

(VBA) Onkeyメソッド

ThisWorkbookに書かれた、OnKeyメソッドで
シートモジュールのルーチンを呼び出したい

>

ブックTS.xlsのThisWorkbook,Workbook_Open()に
Application.OnKey "{F12}", "F12Sub"と記入

TS.xls/Sheet8のシートモジュールに「F12Sub」を定義
Public Sub F12Sub()
Stop
End Sub

●シート操作の中で、〔F12〕キーを押せば、F12Subへ飛ぶ〕
ということを実現したい

処が現実はミスがあり,F12Subを見つけることができません(◆)

エラーメッセージは
「マクロ ”G:\Z0_install_folder\data\me-folder\chiebukuro\zb-2\TS.xls'!F12Sub'が見つかりません。」
と表示されます。

TS.xlsのパスは
G:\z0_install_folder\data\me-folder\chiebukuro\zb-2\TS.xls
です

仮に
Application.OnKey "{F12}", "F12Sub" を
Application.OnKey "{F12}", "Sheet8.F12Sub" としてもダメでした。

VBEプロジェクトエクスプローラでの配置は
下記の通りです(△は表示調整)

-VBAProject (TS.xls)
△-Microsoft Excel オブジェクト
△△-Sheet10 (Sheet8)
△△-ThisWorkbook


提示コードは飛べた想定でStopのみ記述ですが

組み込む目的は
カーソルが当該セルに〔↑〕キー(方向キー)で進入したときに、
Worksheet_SelectionChangeで位置を受け取り
◇〔Delete〕キーでそのセルを含むA~Z列をデータ消去、フォント色を黒リセット
◇直後に〔F12〕キーを押せば、元状態に復旧する
です

目的上は〔標準モジュール〕へ分離も可能かとも思われますが
関連する同様なモジュールがシートモジュールとして動かしてるため
シートモジュール記述で解決したい

----
システム XP(SP3),エクセル97(VBは5.5ベース)

閲覧数:
236
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

kak********さん

2017/4/1516:35:50

-VBAProject (TS.xls)
△-Microsoft Excel オブジェクト
△△-Sheet10 (Sheet8)
△△-Sheet1 (マクロ記述シート)
△△-ThisWorkbook

上記の配置で
Excelのワークシートのタブに表示されている名前が「Sheet8」なら
Application.OnKey "{F12}", "Sheet10.F12Sub"
と記述します。

Excelのワークシートのタブに表示されている名前が「マクロ記述シート」なら
Application.OnKey "{F12}", "Sheet1.F12Sub"
と記述します。

  • 質問者

    sun********さん

    2017/4/1518:52:45

    確認しました(^^)

    知識不足に汗です。ありがとうございました。
    ----


    PS

    今後の応用のため。

    ①EXCELが初期に付けたシート名=Sheet10
    ②ユーザーが任意に名変したシート名=Sheet8

    とすると

    1.①を定義するにはどういう記述でしょうか?

    ちなみに②の場合には、
    SET WS = Sheets("Sheet8")ですね。

    2.②→①、又は、①→②へ変換するには
    どういう方法があるのでしょうか?

    1,2共、追加のような位置付けなので、
    参考URLだけでも宜しいのですが、

    教えて頂けませんでしょうか?

    //





  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2017/4/15 21:30:03

ご指定の書式に変更しF12キーを押したら

F12Subの"stop"行に、実行ステップが移動し
ホッとしました。

ありがとうございます。そして、今後とも宜しくご教示下さい

//

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる