[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『テキストボック内の入力文字数』(CB)
ユーザーフォーム内にテキストボックスを配置しています。 テキストボックスには、必ず7桁の数値を入力するのですが、7桁の数値が 入力られていない時にはエラーの表示を行いたいのですがどうしたらいい でしょうか?
また、複数あるテキストボックスに数値を入力後、所定のセルへ合計金額 を求めたいのですが、コードをご教示ください。
素人なのでいろいろ基本的なことばかりお聞きし申し訳ありません。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
If Not(TextBox1.Text Like "#######") Then ...
とかでは? (kanabun) 2014/09/12(金) 17:48
Private Sub CommandButton1_Click() ActiveSheet.Range("A1").Value = Application.Sum(TextBox1.Value, TextBox2.Value, TextBox3.Value) End Sub Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) If Len(TextBox1.Value) <> 7 Then MsgBox "7桁で入力してください" Cancel = True End If End Sub なんとなーくイベントとかいろいろ分かってなさそうだけど 一例 (稲葉) 2014/09/12(金) 17:56
ありがとうございました。 うまくできましたが、一点だけおしえてください。
ActiveSheet.Range("A1").Value = Application.Sum(TextBox1.Value, TextBox2.Value, TextBox3.Value) の場合に、テキストボックス内に未入力があった場合でも計算をおこないたいのですがどこをどうした よいでしょうか? (CB) 2014/09/12(金) 19:05
TextBoxコントロールには .ControlSourceプロパティというのがあるから、 複数TextBoxの演算をするときには、(TextBoxコントロールはあくまで 文字列だから) シートのセルで演算させて、その結果を利用するといいです。
たとえば、Sheet1 の [X1][X2][X3] を それぞれ TextBox1,TextBox2, TextBox3 に連動させておき、
Private Sub UserForm_Initialize() TextBox1.ControlSource = "Sheet1!X1" TextBox2.ControlSource = "Sheet1!X2" TextBox3.ControlSource = "Sheet1!X3" End Sub
Sheet1の[X4]に 数式 =SUM(X1:X3) としておけば、 セル[X4]の値が 求める値です。 (kanabun) 2014/09/12(金) 20:18
Application.Sum(val(TextBox1.Value), val(TextBox2.Value), val(TextBox3.Value)) でいけると思うけど。 というより、すべて文字列なので計算する際は必ず数値に変換しておいた方が安全。 (seiya) 2014/09/12(金) 20:24
ご回答ありがとうございます。 数値に変換する場合はどのようにしたらいいですか? (CB) 2014/09/15(月) 12:22
Val関数で数値にしてあるけど? (seiya) 2014/09/15(月) 22:45
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.