こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

VBA勉強中の者です。エクセル2010使用
前回も同じような件で質問したのですが、入力フォームを作成中。
数量表の入力ホームなので、出来るだけキーボードのテンキーでの操作が出来るようにと考えております。
チェックボックスのon/off でテキストボックスの入力の可否を出来るようにしています。これが7組あるとします。(チェックボックス1に対してテキストボックス1に数値が入力出来るように)

質問(1)
チェックが入っていれば、呼応したテキストボックスへエンターキーで移動。
チェックを入っていなければ、エンターキーで次のチェックボックスへ移動するようにしたいのです。

質問(2)
シートへの転記の際は、7組の間に『、』カンマを入れたいのですが、当然チェックのないものは必要ないので、カンマが要らない事になります。初心者の考えでは単純に条件式をその通り数書くことになるのかと思うとゾッとしますが、少しでも条件式を減らす方法があれば、ご教授願います。

分かり難くて、すみません。

投稿日時 - 2012-11-24 11:11:58

QNo.7813225

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

何度か読み返したのですが、よく分からん・・。
チェックボックスは頻繁に On/Off を行うのでしょうか?
なら、チェックボックスはかえって邪魔なので削除、テキストボックスだけに
しておいた方が使いやすそうですけど?

ではなくて、チェックボックスの変更は、たまにしか行わないのなら
入力データによってチェックボックスのOn/Offを行い
その後はしばらくテキストボックスを使用してデータ入力
のような使い方ですか?
どうも私の想像しているものが見当違いな気もしますので
もっと具体的に入力状況が手に取るように見える説明が欲しいところです。

>7組の間に『、』カンマを入れたいのですが、
>当然チェックのないものは必要ないので、カンマが要らない事になります
カンマを取り去ったら、どのテキストボックスに入力した値なのか
判らなくなりませんか?
2,1,,,,6,7 なら、1・2・6・7のテキストボックスからだと分かりますが
2,1,6,7 では役に立たないのでは?

投稿日時 - 2012-11-28 01:01:24

補足

一般的な表記方法の例は
M8×35L(N,2W,SW)  これの数字部分だけを入力できるようにすれば、ほぼテンキーとエンターキー、スペースキーで可能かと。
ただ、カッコ内の組み合わせも付属物が複数個であったり、無かったりと色々有りますので、チェックボックスでの判別としたかったのです。ちなみに上の表記の様にNとは『ナットが1個』の事ですが、1個の場合は数字は表記せずにNと表記します。
順序はテキストボックス順でいいのです。

これが質問2の内容の補足です。

ですので質問1の意図したいことも、わかりますでしょうか。
説明不足ですみません。

投稿日時 - 2012-11-28 11:21:10

お礼

有難うございました

投稿日時 - 2012-12-05 14:40:52

ANo.1

質問(1)
チェックが入っていれば、呼応したテキストボックスへエンターキーで移動。
チェックを入っていなければ、エンターキーで次のチェックボックスへ移動するようにしたいのです。
マウス操作でチェックボックスを操作、テンキーでテキストボックスを操作
することになりますが、これって使いやすいですか?
とりあえず、それぞれのチェックボックスに

Private Sub CheckBox1_Click()
If CheckBox1.Value = 0 Then
TextBox1.SetFocus
Else
CheckBox2.SetFocus
End If
End Sub

質問(2)
A1セルに書き出すとして

Private Sub CommandButton1_Click()
For i = 1 To 7
Range("A1").Value = Range("A1").Value & Controls("TextBox" & i).Value
If Controls("CheckBox" & i).Value = 0 Then Range("A1").Value = Range("A1").Value & ","
Next
End Sub

こんな感じでしょうか。

投稿日時 - 2012-11-24 17:54:06

補足

回答有難うございます。
質問1ですが、チェックはスペースキーで入るので、マウスは使いません。
コードを試しましたが、チェックが入れば、次のチェックボックスに移る感じでした。
参考にさせていただきます。

有難うございます。

投稿日時 - 2012-11-26 09:35:09

お礼

有難うございました

投稿日時 - 2012-12-05 14:40:31

あなたにオススメの質問