VBAの勉強を始めたばかりで、見よう見まねで色々作っています。
ユーザーフォームのテキストボックスに、計算結果を表示したいのですが、行き詰まってしまいました。
textbox1
textbox2
.
.
textbox5
があり、textbox6に、1~5に入力された数字を足して、消費税額が出るようにしたいです。
例えば
textbox1・・・100,000
textbox2・・・200,000
と入っていたら
textbox6に
【消費税額 15,000円】
と表示させたいです。
textbox1~5は、1から順番に数字を入れていきますが、全てに入るとは限りません。
不足情報等がありましたら、ご指摘下さい。
ご教授の程、よろしくお願いします。
No.5ベストアンサー
- 回答日時:
>a = a + CLng(Me.Controls("TextBox" & i).Value)
>こちらにしたところ、
>実行時エラー'13' 型が一致しません
すみません、空白のTexBoxがある事を見落としていました。
,を空白に置換えてみました。
Dim i As Long, a As Long
For i = 1 To 5
a = a + Val(Replace(Me.Controls("TextBox" & i).Value, ",", ""))
Next
Me.TextBox6.Text = "消費税額 " & Format(a * 0.05, "#,##0円")
No.4
- 回答日時:
こんにちは。
一応、Double 型で扱いますが、空白があると、CLngやCDble は、数値が入っていることを前提とするので、「""(長さ0の文字列)」は、エラーを発生します。Val関数は、「,(カンマ)」までの数字を拾います。だから、事前に、IsNumeric で区分けしなければなりません。
'-------------------------------------------
Private Sub CommandButton1_Click()
Dim i As Long
Dim bSum As Double
bSum = 0
For i = 1 To 5
If IsNumeric(Me.Controls("TextBox" & i)) Then
bSum = bSum + CDbl(Me.Controls("TextBox" & i))
End If
Next i
TextBox6.Value = Int(bSum * 0.05) '切り捨ての場合
'TextBox6.Value = Int(bSum * 0.05 + 0.5) '切り上げの場合
End Sub
No.3
- 回答日時:
No.2です
>例えば
>textbox1・・・100,000
>textbox2・・・200,000
入力に , が入るのですね なら
>a = a + Val(Me.Controls("TextBox" & i).Value)
↓
a = a + CLng(Me.Controls("TextBox" & i).Value)
に変更してください。
度々、ありがとうございます。
a = a + Val(Me.Controls("TextBox" & i).Value)
この式だと、200,000円のときは「10円」となってしまうんですね。
で、
a = a + CLng(Me.Controls("TextBox" & i).Value)
こちらにしたところ、
実行時エラー'13' 型が一致しません
と出てしまいました・・・。
No.1
- 回答日時:
例えば入力チェックの方法としては
Dim nResultValue as Long
nResultValue = 0
if Trim$(Textbox1.text) = vbNullString Then
Call MsgBox("入力されていない")
Elseif IsNumeric(Textbox1.text) = False Then
Call MsgBox("数字ではない")
Else
nResultValue = nResultValue + CLng(Textbox1.text)
End if
というのをTextbox1~5まで繰り返して
最後に
Textbox6.text = Cstr(nResultValue * 0.05)
とすれば問題ないかと
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Visual Basic(VBA) VBA。複数のChangeイベントをまとめる方法 2 2022/03/31 12:03
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
Excel VBA ユーザーフォーム内のラベルにテキストボックスの計算結果を出す方法
Visual Basic(VBA)
-
VBA テキストボックスの計算
Visual Basic(VBA)
-
VBAのTextBoxに半角数字のみ入力したい
Visual Basic(VBA)
-
-
4
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
5
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
6
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#のループでtextboxに値を入れ...
-
二点の座標から距離や角度を求...
-
VBA public変数はどのようなこ...
-
visual basic初心者です。 visu...
-
VBAで入力数値について
-
sublimit textっていうエディタ...
-
プログラムの素朴な質問です 分...
-
GetNextWindowがDLLファイルUse...
-
プロシージャまたは関数の引数...
-
アクセスできない保護レベルエ...
-
三項でたとえば交換って
-
visual studio 2008 C# で、値...
-
プロシージャを呼び出したプロ...
-
エクセルVBAでテキストボッ...
-
VBAでcallで呼び出したsubを終...
-
VB6でClickイベントを一時的に...
-
VBAのユーザーフォームで、テキ...
-
【VB6.0】 あるフォームから他...
-
VB.NETでのイベントの途中終了
-
ExcelのVBAで文章にある複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#のループでtextboxに値を入れ...
-
String型の値にスラッシュをつ...
-
VB
-
テキストボックスを下から上へ...
-
datagridview の任意の行に三...
-
vb.net 文字コードから漢字へ変換
-
VBA テキストボックスで計算
-
Pythonでのかんたんな物理シミ...
-
C# コントロール取得
-
入力された値の動的取得方法に...
-
g95プログラムからg++関数を呼...
-
三項でたとえば交換って
-
VBA public変数はどのようなこ...
-
VBAでcallで呼び出したsubを終...
-
他のフォームから別のフォーム...
-
C言語のサフィックスについて
-
レコードセットにnullの場合
-
エクセルVBAでテキストボッ...
-
Functionの戻り値を配列にした...
-
プログラムの素朴な質問です 分...
おすすめ情報