- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA「型が一致しません。」)
エクセルVBAのユーザーフォームで『型が一致しません』というエラーが出る原因と対処法
このQ&Aのポイント
- エクセルVBAのユーザーフォーム実行時に『型が一致しません』というエラーが発生します。このエラーは、関連するコードが原因とされます。
- 特に、TextBoxをスピンボタンと併用して使用している場合にエラーが発生しやすいです。TextBox1の値とTextBox2の値を掛け合わせた結果をTextBox3に表示するためのコードが関係しています。
- このエラーを解消するためには、TextBoxの値を計算する部分のコードを修正する必要があります。TextBox1_ChangeイベントとTextBox2_Changeイベントの中のコードを見直し、正しい計算式を記述してください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
TextBox1かTextBox2のValueプロパティの初期値が設定されていないか、途中で値が""になってしまいので、掛け算がエラーになっているのではないでしょうか。 TextBox1やTextBox2のプロパティで、Valueの初期値として0を設定しておくか、途中で値が""になる可能性があるのなら、計算を以下のようにしておく必要があるかもしれません。 Private Sub TextBox1_Change() Me.TextBox3.Value = Val(Me.TextBox1.Value) * Val(Me.TextBox2.Value) End Sub
その他の回答 (1)
- TNK7800
- ベストアンサー率19% (13/66)
回答No.2
変数の型はどのように設定していますか? このテのエラーの場合 ほとんどが変数の型の指定の問題です
お礼
ご回答ありがとうございました。 解決致しました。よくコードを見直すとご指摘の通り「""」が入るコードになっておりました。 ご提案の通り修正致しますと動作致しました。 私実は学校の生徒会役員をやっておりまして、現在ベルマークを集計するためのVBAを書いているのですが、また一歩完成に近づきました。 また何か躓くかもしれませんがその際はどうかよろしくお願いします。