
お世話になります。
下記のコードですが
If TextBox1.Value <> "" And TextBox2.Value <> "" Then
TextBox3.Value = TextBox1 * TextBox56
End If
テキストボックス1に -5を入力
テキストボックス2に 5を入力
テキストボックス3が -25になります。
今度は
テキストボックス1に 5を入力
テキストボックス2に -5を入力しようとすると、-を入力した時点でデバックとなります。
数 × -数 を行いたいのですが、
どのようにしたらよいのでしょうか?
教えて下さい。
ちなみに、テキストボックス2から、-5を入力するとデバックしません。
宜しくお願い致します。

No.2ベストアンサー
- 回答日時:
<>””だとNULLで無い、と判定ている。
数字かどうかで判定する。
If IsNumeric(TextBox1.Value) And IsNumeric(TextBox2.Value) Then
TextBox3.Value = TextBox1 * TextBox2
End If
ご回答ありがとうございます。
If IsNumeric(TextBox8.Value) And IsNumeric(TextBox10.Value) Then
TextBox11.Value = TextBox8 * TextBox10
myTH1 = TextBox8.Value * TextBox10.Value
ElseIf TextBox8.Value = "" Or TextBox10.Value = "" Then
TextBox11.Value = ""
myTH1 = 0
End If
マイナスが入りました。
本当に助かりました。
ありがとうございます
No.5
- 回答日時:
こんな感じではいかがですか?
-----------------------------------------------------
Private Sub TextBox1_Change()
If IsNumeric(TextBox1.Value) Then
If IsNumeric(TextBox2.Value) Then
TextBox3.Value = TextBox1.Value * TextBox2.Value
End If
End If
End Sub
-----------------------------------------------------
ちなみになぜエラーになったかと言うと、Change イベントは1文字づつイベントが発生してしまうため「-」だけでもイベントが発生してしまい「-」では計算が出来ないためです。またなぜ最初に「-」の方はエラーにならなかったかと言うとテキストボックス2が空欄だったため計算されなかったためです。
No.4
- 回答日時:
Change()イベントに書いているなら当たり前ですね。
「-」は数値ではありませんから。
せめてこれくらいはすればどうでしょうか。
Private Sub TextBox1_Change()
If TextBox1.Value = "" Or TextBox2.Value = "" Then
Exit Sub
End If
If Not IsNumeric(TextBox1.Value) Or Not IsNumeric(TextBox2.Value) Then
Exit Sub
End If
TextBox3.Value = TextBox1.Value * TextBox2.Value
End Sub
とかにしとけばいいのでは。
この場合、「.1」、「-.1」、更には全角数字も数値とみなします。
また、入力値に、特定の桁数までという制御がないので、結果が15桁を超えると「1E+15」などという結果になります。

No.3
- 回答日時:
TextBox3.Value = TextBox1 * TextBox1 を
TextBox3.Value = TextBox1.Value * TextBox2.Value
にしては、どうでしょうか。
こちらで、確認するとTextBox1にマイナスの値をいれても、TextBox2にマイナスの値をいれても
何れも正常に動作します。
ご回答ありがとうございます。
全文書かなくてすみません。
Private Sub TextBox1_Change()
If TextBox1.Value <> "" And TextBox2.Value <> "" Then
TextBox3.Value = TextBox1.Value * TextBox2.Value
End If
これですと、デバックになりました。
ただ、参考になりました。
ありがとうございます。
No.1
- 回答日時:
念のため確認ですが
「TextBox3.Value = TextBox1 * TextBox56」は「TextBox3.Value = TextBox1.Value * TextBox2.Value」の転記ミスですよね。
ありがとうございます。
4行目は
TextBox3.Value = TextBox1 * TextBox2
の間違いです。
Private Sub TextBox1_Change()
If TextBox1.Value <> "" And TextBox2.Value <> "" Then
TextBox3.Value = TextBox1 * TextBox1
End If
End Sub
Private Sub TextBox2_Change()
If TextBox1.Value <> "" And TextBox2.Value <> "" Then
TextBox3.Value = TextBox1 * TextBox1
End If
End Sub
こんな書き方をしています。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- Visual Basic(VBA) ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の 2 2022/06/29 22:51
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) テキストボックスで入力 9 2022/11/09 17:00
- その他(Microsoft Office) エクセルのマクロを教えてください。 1 2023/01/27 09:05
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
VBA テキストボックスで計算
Access(アクセス)
-
VBA テキストボックスの計算
Visual Basic(VBA)
-
-
4
Excel VBA ユーザーフォーム内のラベルにテキストボックスの計算結果を出す方法
Visual Basic(VBA)
-
5
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
6
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
7
VBA テキストボックスに3桁カンマ表示させたい
その他(Microsoft Office)
-
8
VBA コンボボックスとテキストボックスを連結させたい
Visual Basic(VBA)
-
9
Excel vbaで複数のテキストボックスの足し算
Visual Basic(VBA)
-
10
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
11
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
12
EXCEL VBAのコンボボックスに取り込むリストについて
Excel(エクセル)
-
13
excelのリストボックスで選択した項目をアクティブセルに入力方法
Excel(エクセル)
-
14
ユーザーフォーム上にある「テキストボックス」に小数が入力できない
Excel(エクセル)
-
15
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
16
【エクセル】複数のTextBoxに共通するChangeイベントを簡潔に書きたい
Excel(エクセル)
-
17
Excel ユーザーフォームで計算 空欄の場合のエラー処理
Visual Basic(VBA)
-
18
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
19
Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
VLOOKUP関数を使用時、検索する...
-
検便についてです。 便は取れた...
-
腕を見たら黄色くなってる部分...
-
EXCELで式からグラフを描くには?
-
Excel 数値の前の「 ' 」を一括...
-
精子に血が・・・
-
勃起する時って痛いんですか? ...
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
EXCELで条件付き書式で空白セル...
-
風俗店へ行く前のご飯
-
精液の落とし方を教えてください
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
病院側から早く来てくださいと...
-
エクセルのラベルの値(文字列...
-
ワードのページ番号をもっと下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報