• ベストアンサー

エクセル VBA チェックボックスについて

エクセルVBAを勉強中で、入力フォーム作成に挑戦中です。(エクセル2010) 質問ですが、 数量表の入力ホームなので、出来るだけキーボードのテンキーでの操作が出来るようにと考えております。 チェックボックスを使用し、テキストボックスの入力制限を掛けていますが、チェックボックス上でキーボード操作(1とかAを押す)を行うとチェックが入るように出来るのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

スペースキーで、On・Offの切り替えが出来ますので これが一番かと思います・・ VBAも不要ですし。 CheckBox1がフォーカスを得ている状態で Private Sub CheckBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = 46 Then Me!CheckBox1 = Not Me!CheckBox1 End If End Sub とすれば、『.』を押すたびにOn/Offが切り替わります。 キーコードの調べ方は、"a"の場合、イミディエイトウィンドウで ?asc("a") とすれば 97 が返ってきますが、CapsLockがOnの状態に気づかないと a のつもりで A を押していることにもなりかねないので If KeyAscii = 97 Or KeyAscii = 65 Then ・・とかですかね。 どのキーにするかはおまかせします。

fns_2010
質問者

お礼

ご回答有難うございます。 なるほど。スペースキーで。いろんなキーを押したつもりでしたが、、 コードの参考も有難うございます!

関連するQ&A

  • エクセルVBA チェックBoxとテキストBox

    VBA勉強中の者です。エクセル2010使用 前回も同じような件で質問したのですが、入力フォームを作成中。 数量表の入力ホームなので、出来るだけキーボードのテンキーでの操作が出来るようにと考えております。 チェックボックスのon/off でテキストボックスの入力の可否を出来るようにしています。これが7組あるとします。(チェックボックス1に対してテキストボックス1に数値が入力出来るように) 質問(1) チェックが入っていれば、呼応したテキストボックスへエンターキーで移動。 チェックを入っていなければ、エンターキーで次のチェックボックスへ移動するようにしたいのです。 質問(2) シートへの転記の際は、7組の間に『、』カンマを入れたいのですが、当然チェックのないものは必要ないので、カンマが要らない事になります。初心者の考えでは単純に条件式をその通り数書くことになるのかと思うとゾッとしますが、少しでも条件式を減らす方法があれば、ご教授願います。 分かり難くて、すみません。

  • エクセル VBA 日付入力?

    エクセル 2000のVBAにて簡単な 日程表を作成しています。 フォームの テキストボックス1に 10/8 を入力したら テキストボックス2には 10/15 ~ テキストボックス15には 1/21 が自動で 入力されるようにするには、どのようにすればよろしいでしょうか?

  • エクセルVBA フォームのテキストボックスの入力規則

    エクセル2000を使用しています。 VBAでフォームを作成しています。日付の入力項目をテキストボックスで 作りたいのですが、”yyyy/mm/dd”の形式で入力するようテキストボックスの中に表示し、それ以外の入力形式を制限するにはどのようにしたらよいでしょうか。

  • テキストボックスに入力するとチェックボックスのチェックが入るようにするには

    Excelのユーザフォームについて質問させていただきます。 チェックボックスとテキストボックスがそれぞれ複数あります。 テキストボックスに入力すると、横にあるチェックボックスに 自動的にチェックが入るようにしたいのですが、 どのようにすればいいのでしょうか。        

  • Excel VBAのチェックボックスについて

    こんばんは、Excel vbaのチェックボックスについてご教授をお願いします。 Userformを作成しています。 チェックボックスを横に4つ配置したとします。その際、常にどれか一つのチェックボックスにしかチェックできないようにしたいのです(チェックしたあとに、違うチェックボックスにチェックしたら、先にチェックしてあるのもはチェックを消したい)。 このような事をしたい場合、マクロ記述での操作になるのでしょうか?それとも、何か違う操作かコマンドがあるのでしょうか?4つ一組でたくさん並べたいので、すべてにマクロ記述となると大変かな?と思いまして・・・。もし、マクロ記述でしか方法が無い場合、マクロ記述の内容も教えて頂ければと思います。 申し訳ありませんが、よろしくお願いします。 ※Excel2000を使用しています。

  • エクセルVBAで困ってます。

    ユーザーフォームのテキストボックスで入力制限をしたいのですが、制限は桁とかではなく特定の数字です。そこでテキストボックスに入力後チェックをかけるコーディングをしてるつもりなのですがフォーカスが次のテキストボックスへ遷移してしまいます。フォーカスを自分自身へ戻せないものでしょうか。大変困っています宜しくお願いします。

  • EXCEL VBA のテキストボックスで

    EXCEL VBAのテキストボックスでボックス内にテキストを入力 しなければカーソルの移動が出来ないようにできますか? 宜しくお願いします。

  • エクセルVBAでテキストボックス等選択する。

    こんばんわ! エクセルのVBAのユーザーフォームについての質問です。 オプションボタン1・2・3とあって 1を選択したらテキストボックス1が選択される(そのまま入力できる状態になる) 2を選択したらテキストボックス2が選択される(そのまま入力できる状態になる) 3を選択したらテキストボックス3が選択される(そのまま入力できる状態になる) ということをしたいのですが、どのようにすればよいでしょうか? アドバイスの程よろしくお願いいたします。

  • エクセルのフォームで○のチェックボックスがほしいです。

    はじめまして。よろしくお願い致します。 エクセル(2003)で、フォームの中にチェックボックスがあるのですが、チェックを入れると「レ」がでます。これをクリックしたら、「○」がでるチェックボックスがほしいのですが、どのようなVBAにしたらよいのか教えてください。お願いします。

  • Excel VBA チェックボックスについて

    Excel 2013 ActiveXのテキストボックスコントロールです。 チェックボックスにチェックを入れると、右のボックスにチェックした日の日付が入るようにしました。 この日付から3日後→6日後→9日後(日付経過によって)によって背景色を変えたいです。 ちなみに〘連絡待ち〙と書いてあるテキストボックスの背景色を変えたいです。 ご回答よろしくお願いします。