• ベストアンサー

TEXT BOXの数値の・・・・

Visual Basic初心者です。Visual Basic6.0を使用しています。 例えばTextBox1に数値を入力した際に、なんらかの計算をしてTextBoxもしくはLabelにその計算結果を表示したいのですが・・・またその際にTextBox1の数値を変更したらその結果もそれに応じて変更するものにしたのですが・・・・よろしくお願い致します。

  • d-910
  • お礼率14% (6/41)

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

TextBox1の値を変更すると、Label1に1.05をかけた値が表示される。 Private Sub Text1_Change() Label1.Caption = Val(Text1.Text) * 1.05 End Sub と言う感じの事でしょうか?

d-910
質問者

お礼

すみません、ありがとうございました。勉強になりました!。

その他の回答 (1)

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.2

補足です、基本的には文字列から数字に変換する場合は、数字であることをチェックしましょう。 Text1.Textに数字以外の文字列を入れられると面倒です。 Private Sub Text1_Change() If IsNumeric(Text1.Text) Then Label1.Caption = Val(Text1.Text) * 1.05 End If End Sub これに加えて、 '数字以外の入力を許可しない。 Private Sub Text1_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") _ Or KeyAscii = Asc("-") Or KeyAscii = 8) Then KeyAscii = 0 End If End Sub

関連するQ&A

  • C++ ファイルの値から数値を取り込んで計算

    プログラミング初心者です 現在独学でC++を学んでいるのですが,2つのファイルを入力して差分計算し,その結果を表示させるプログラミングを作りたいです.(visual studio 2019を使用しています) 例えば 5×5の数値が並んだ2つのファイル(1と2と6だけで構成されています) 11221      12212 11216      12226 22126      12221 11261      12216 12226      12216 を読み込み,それぞれの数値を差分して,以下のような結果を表示させるプログラムを作りたいです 0 -101-1 0 -10-10 10-105 0-105-5 00010 すみませんが、わかる方がいらっしゃいましたら、宜しくお願いします。

  • VBA書き込み数値の加算?

    エクセル2000のVBAにて下記のコードを書き込み コマンドボタン1にてエクセルに入力処理後 Label8数値の加算をエクセル関数SUNを使用して =SUM(E4:E1000)を行ったのですが、加算数値が0になってしまいます。 =E4+E5+E6・・・・だと加算した数値が表示されます。 (さすがにこれは避けたいです) 何か方法があると思いますが教えていただけますでしょうか? Dim i As Integer Dim k As Integer Private Sub CommandButton1_Click() With ActiveSheet For k = 4 To 1000 If .Cells(k, 1) = "" Then .Cells(k, 1) = TextBox1 .Cells(k, 2) = Label6 .Cells(k, 3) = Label7 .Cells(k, 4) = TextBox2 .Cells(k, 5) = Label8 TextBox1 = "" Label6 = "" TextBox2 = "" Label7 = "" Label8 = "" Exit Sub End If Next k End With End Sub Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then Label8 = Application.WorksheetFunction.Round(Val(Label7) * Val(TextBox2), 0) Label8 = Format(Label8, "#,##0") End If End Sub

  • エクセル VBA ユーザーフォームで検索したいのですが

    つい昨日触り始めた大初心者です。。 エクセルシートにて 数値を記した列と、詳細を記した列があります。 ユーザーフォームにて textboxに数値を入力し、ボタンをクリックすると 検索をして、ユーザーフォーム内のlabelに詳細が表示される、といったvbaを書いているのですが、どうにもうまくいきません。 また、textboxに検索範囲にない数値が入力されたときには Labelに「なし」と表示させたいのですが、 エラーが出てしまい、その処理もやはりうまく出来ません。 どなたかご教授いただけますでしょうか。

  • TextBox1とTextBox2の数値の大小の比較について

    1)ユーザーフォーム上のTextBox1に入力された数値とTextBox2に入力された数値の大小の比較を下記のような感じで行ってみたところ、40>300や50>100という感じの結果になってしまいます(ゼロを無視してる?)プロパティは.Valueと.Textの両方を試してみたのですが、同じような結果だったと思います。正しい結果を出すにはどうすればよいのでしょうか。 If UserForm1.TextBox1.Value>UserForm1.TextBox2.Value then~ 2)変数を宣言して、その変数にTextBox1の内容(数値)を代入する場合、Integer型等とTextBox型のどちらとして宣言するのが正しいのでしょうか。 以上二点、よろしくお願いします。(Excel2000使用)

  • iアプリについて

    二つのTextBoxに入力された数値の合計をLabelに表示するアプリを作りたいのですが、どう書けばいいかわかりません。 教えてくださいお願いしますm(_ _)m

    • ベストアンサー
    • Java
  • Excel 2003で計算された数値と比較

    Excel 2003の表計算で計算された数値と基準になる数値(予めセルに入力)を比較させて、その数値の差を+-付き数値で表示させる事は可能でしょうか?可能ならばその表示方法(計算式等)を教えて下さい。よろしくお願い致します。初心者につきイメージしたままを文章にした為、説明が下手ですがよろしくお願いします。

  • Excel 数値の丸め

    Excel2010を使用しておりますが、数値の丸めについて教えて下さい。 ■条件  ・Sheet1のA1セルに「10,000」、A2セルに「20,000」と入力。  ・Sheet2のA1セルに「=Sheet1!A1+Sheet1!A2」の式を入力。 ■結果  ・Sheet2のA1セルには「30,000」と表示される。 ■したいこと  ・この「30,000」という数値を「30」という数値に変更したい。 実際はSheet1には「10,000」や「20,000」の金額がたくさん入力されており、それをSheet2で集計しております。 しかし、Sheet2の合計金額が細かいため千円単位に一括して表示しなおしたいのです。 「ROUNDUP」や「ROUDDOWN」の関数を使用すれば千円単位に変更することはできますが、セル毎に入力しなければならないので、対象範囲を指定して一括で千円単位に変更できないでしょうか? という質問です。 よろしくお願い致します。

  • DephiでのTextボックスでの数値入力

     Delphi初心者です。判らないことは、テキストボックスの様に数値を入力するコントロールが何かということです。  たとえばMsAccessのフォームで、TEXTBOXを使って数値入力をすることができますが、Delphiの場合はどんなコントロールを使用すれば、数値を入力できるのでしょうか?それとも、テキストボックスの入力を数値変換して使用するか手はないでしょうか?知っている方にしてみると、未熟な質問だと思いますが、よろしくお願いします。

  • textboxとlabelのコピー

    EXCEL2003のVBAで簡単なformを作成していますが、初心者なのでお知恵をお貸しください。 マルチページのpage1にtextbox1と2、label1と2を設置しています。 で、ここに(page1)にコマンドボタンを設置してこれを押すとPAGE2のtextbox3と4、label3と4にコピーされますが、もしtextbox3と4、label3と4に既に入力されているなら、textbox5と6、label5と6へ入力しなさいというコードはどうしたらいいのでしょうか?

  • エクセルVBA 計算の繰り返し処理?

    エクセルのVBA フォーム内にて 下記、各テキストボックスの数値を変更することにより Label27にLabel28*TextBox12+TextBox13+TextBox14 Label33にLabel34*TextBox16+TextBox17+TextBox18 Label27、Label33に計算の答えを書き込みたいため 下記のように書き込みました。 Private Sub TextBox12_Change() Label27.Caption = Val(Label28.Caption) * Val(TextBox12.Value) _ + Val(TextBox13.Value) + Val(TextBox14.Value) End Sub Private Sub TextBox13_Change() Label27.Caption = Val(Label28.Caption) * Val(TextBox12.Value) _ + Val(TextBox13.Value) + Val(TextBox14.Value) End Sub Private Sub TextBox14_Change() Label27.Caption = Val(Label28.Caption) * Val(TextBox12.Value) _ + Val(TextBox13.Value) + Val(TextBox14.Value) End Sub Private Sub TextBox16_Change() Label33.Caption = Val(Label34.Caption) * Val(TextBox16.Value) _ + Val(TextBox17.Value) + Val(TextBox18.Value) End Sub Private Sub TextBox17_Change() Label33.Caption = Val(Label34.Caption) * Val(TextBox16.Value) _ + Val(TextBox17.Value) + Val(TextBox18.Value) End Sub Private Sub TextBox18_Change() Label33.Caption = Val(Label34.Caption) * Val(TextBox16.Value) _ + Val(TextBox17.Value) + Val(TextBox18.Value) End Sub 計算は出来るのですが計算ラベル50程あるため、修正を考えて ももう少し簡素化して書き込みたいため 調べましたがヒント項目がずれているせいか回答を検索できませんでした。 どのようにすれば宜しいかご教示の程宜しくお願いいたします。

専門家に質問してみよう