• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA「型が一致しません。」)

エクセルVBAのユーザーフォームで『型が一致しません』というエラーが出る原因と対処法

このQ&Aのポイント
  • エクセルVBAのユーザーフォーム実行時に『型が一致しません』というエラーが発生します。このエラーは、関連するコードが原因とされます。
  • 特に、TextBoxをスピンボタンと併用して使用している場合にエラーが発生しやすいです。TextBox1の値とTextBox2の値を掛け合わせた結果をTextBox3に表示するためのコードが関係しています。
  • このエラーを解消するためには、TextBoxの値を計算する部分のコードを修正する必要があります。TextBox1_ChangeイベントとTextBox2_Changeイベントの中のコードを見直し、正しい計算式を記述してください。

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

  • ベストアンサー
  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.1

TextBox1かTextBox2のValueプロパティの初期値が設定されていないか、途中で値が""になってしまいので、掛け算がエラーになっているのではないでしょうか。 TextBox1やTextBox2のプロパティで、Valueの初期値として0を設定しておくか、途中で値が""になる可能性があるのなら、計算を以下のようにしておく必要があるかもしれません。 Private Sub TextBox1_Change() Me.TextBox3.Value = Val(Me.TextBox1.Value) * Val(Me.TextBox2.Value) End Sub

takoi424
質問者

お礼

ご回答ありがとうございました。 解決致しました。よくコードを見直すとご指摘の通り「""」が入るコードになっておりました。 ご提案の通り修正致しますと動作致しました。 私実は学校の生徒会役員をやっておりまして、現在ベルマークを集計するためのVBAを書いているのですが、また一歩完成に近づきました。 また何か躓くかもしれませんがその際はどうかよろしくお願いします。

その他の回答 (1)

  • TNK7800
  • ベストアンサー率19% (13/66)
回答No.2

変数の型はどのように設定していますか? このテのエラーの場合 ほとんどが変数の型の指定の問題です