• ベストアンサー

エクセルVBAの質問です

エクセルユーザーフォームをモードレスで起動した状態で、セルを手動で操作しユーザーフォームをクリックしたらマクロを実行する。 ということをしたいです。 順を追って書くと (1)ユーザーフォームを起動(モードレスで) (2)A1セルに文字を直接打ち込む(ユーザーフォームが選択されていない状態) (3)ユーザーフォームをクリック(ユーザーフォームを選択)したら指定したマクロを実行 この(3)のところができません。(というか考え方が分からず・・・) 分かりにくい質問で申し訳ございませんが、アドバイスの程よろしくお願いします。 (ちなみにエクセル2003を使用しています。)

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>NumLockがオン 今回のマクロが原因ではありません。 ご利用のパソコンの何かの問題です。 パソコン自体のご質問として別途ご相談を投稿し,解決してください。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

標準モジュールに sub macro1() userform1.show vbmodeless appactivate application.name end sub で(1)と,(2)の準備まで出来ましたので,てきとーにセルに記入してください ユーザーフォームには private sub userform1_click() msgbox "hello" end sub で,(3)を実行します。 #念のため補足: なお,いわずもがなですが「セルに記入中」はどんなマクロも一切実行できません。 次のマクロを実行するには,セルに記入してEnterするなどで,セルへの入力を終了してからになります。

osarusan0214
質問者

お礼

できました~!! とおもいきや、エクセル起動して一発目だとなぜかNumLockがオン(テンキー使用できず)となりますorz 一度エクセルを起動して上記マクロを実行後、改めてNumlockをオフにしユーザーフォームを起動してから行うとうまくいきますToT

関連するQ&A