プロが教える店舗&オフィスのセキュリティ対策術

エクセルでVBAを使用して、データ整理のためのツールを作っています。ユーザーホームを使って、作っているのですが、例えば、複数のCOMBOBOX(例:combobox1~3とします。)の選択値(例:1~3とします)の和をTEXTBOXかLABELでユーザーホーム内に表示したいのですが、どうも、うまくいきません。sheet(セル)にUPDATEした数字を読んできた和を表示するのではなく、単純に入力値の和を一時的に表示してくれればいいのです。つまり、何も入力されていない場合は、”0”と表示していて欲しいのです。同様に複数のTEXTBOX(例:TEXTBOX1~3とします)の入力値(例:1,3,5とします)の和(=9)をTEXTBOXかLABELでユーザーホーム内に表示したいのです。よろしくお願いします。コードを頂けると助かります。

A 回答 (2件)

こんな方法も



Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox4 = CSng(TextBox1) + CSng(TextBox2) + CSng(TextBox3)
End Sub
    • good
    • 0
この回答へのお礼

有り難うございます。
早速試してみますが、後日、結果を見て改めてコメントします。
ひとまずお礼までに。

お礼日時:2009/03/04 18:16

コンボボックスの値変化をイベントとして使うには ComboBox1_Change() を使います。


こんな感じのコードをコンボボックス2,3にも書いて見てください。
ユーザーフォームのコードです。

Private Sub ComboBox1_Change()
 Dim nCB1 As Long
 Dim nCB2 As Long
 Dim nCB3 As Long
 
 If IsNumeric(ComboBox1.Value) Then nCB1 = CLng(ComboBox1.Value)
 If IsNumeric(ComboBox2.Value) Then nCB2 = CLng(ComboBox2.Value)
 If IsNumeric(ComboBox3.Value) Then nCB3 = CLng(ComboBox3.Value)
 
 TextBox1.Value = Format(nCB1 + nCB2 + nCB3, "0")
End Sub

テキストボックスの演算も同様に……。
    • good
    • 0
この回答へのお礼

有り難うございます。
後日試してみてまたコメントします。
まずは、お礼までに。

お礼日時:2009/03/04 18:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!