[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでショートカットの割り当て』(spacedragon)
皆様、こんばんは♪
下記のように引数を変数渡しにしたいのですが
可能でしょうか?
Dim 引数1 As String, 引数2 As Variant
引数1 = "^{m}",
引数2 = "サブルーチン名"
Application.OnKey 引数1, 引数2
このまま実行しますとエラーになります。
ちなみに、Application.OnKeyを
「Application.MacroOptions」に変えても同様にうまくいかないです。
どうぞご教示よろしくお願い致します。
< 使用 Excel:Office365、使用 OS:Windows10 >
というか、エラーが出ている行がマークされて、エラーメッセージが表示されてるはずだけど、何と出てるの・・・
(名無し) 2020/10/29(木) 19:01
Dim 引数1 As String, 引数2 As Variant
引数1 = "^{m}"
引数2 = "サブルーチン名"
Application.OnKey 引数1, 引数2
です。
エラーは、
'OnKey' メソッドは失敗しました: '_Application' オブジェクト
です。
(spacedragon) 2020/10/29(木) 19:24
本当にそのサンプルでそのエラーが出るのですか?
エラーが出るのは、別のキー、別の名前ではありませんか?
値を変えてみたり、書くモジュールを変えたり、新規ブックで試したりして、動く事例と動かない事例を上げると解決に繋がるかもしれません。
(名無し) 2020/10/29(木) 20:44
横から失礼。 これは動作しますか、どうですか? Sub test() Dim 引数1 As String, 引数2 As Variant 引数1 = "^{m}" 引数2 = "testA" Application.OnKey 引数1, 引数2 End Sub Sub testA() MsgBox "OK" End Sub
(γ) 2020/10/29(木) 21:17
(γ) 2020/10/29(木) 21:20
引数1 = "^{m}" 引数2 = "testA" だと、ちゃんと動作します。 正確に記述しなくて申し訳ございません。 実は、引数1、引数2共にセル範囲から読み込みます。 そうすると、「Application.OnKey」が受け付けてくれません。 何か型変換等が必要なのでしょうか? (spacedragon) 2020/10/29(木) 21:38
(γ) 2020/10/29(木) 21:44
ありがとうございました。
(spacedragon) 2020/10/29(木) 21:52
質問にあたっては、自分の思い込みが最大の敵ですから、
あまり加工せずに、コピーペイストするのがよいと思います。
勝手に割り込み、失礼しました。
(γ) 2020/10/29(木) 21:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.