• ベストアンサー

VBA_ユーザーホーム内の処理について

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

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

こんな方法も Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean) TextBox4 = CSng(TextBox1) + CSng(TextBox2) + CSng(TextBox3) End Sub

masya_v
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

コンボボックスの値変化をイベントとして使うには 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 テキストボックスの演算も同様に……。

masya_v
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A