|
こもれびです
>textboxは72個ありますので、全部入力するまでEnterキーを押してもシート1へ追加しないようにしたいがやはりコマンドボタンを配していけばいいと思う。
>TextBox72個入力して「入力完了ボタン」を押してシート1へ追加して終了なります。
うわぁ、72個!
それでは、次のコードはいかがでしょうか
○ 標準モジュール
public TextData(71) as String ' テキストボックスデータ用1次元配列
○ フォームのモジュール
Private Sub TextBox1_AfterUpdate()
TextData(0) = UserForm2.TextBox1.Text ' 配列にデータを入力
End Sub
ちょっと手間ですが、72個のテキストボックス全部にAfterUpdateイベント
プロシージャを書きます。
その際に、配列の番号は順番どおりに記述してください。
Private Sub TextBox1_AfterUpdate()
TextData(0) = UserForm2.TextBox1.Text ' 配列にデータを入力
End Sub
Private Sub TextBox2_AfterUpdate()
TextData(1) = UserForm2.TextBox1.Text ' 配列にデータを入力
End Sub
Private Sub TextBox3_AfterUpdate()
TextData(2) = UserForm2.TextBox1.Text ' 配列にデータを入力
End Sub
全部入力し終えましたら
Private Sub CommandButton1_Click()
dim i as Integer
For i = 0 to 71
Cells(i+1, 1) = TextData(i)
next i
End Sub
これですと、コマンドボタンの数は1個で済みなおかつテキストボックス全部
に入力されるまでシートにデータが入らなくなります。
上のコードはあくまで例で、実際に使用される際はセルの位置を変更してください。
|
|