テキストボックスの処理について教えてください

このQ&Aのポイント
  • テキストボックスの処理について教えてください。単価には小数1位までの値がありますが、表示を揃えたいです。
  • テキストボックスの処理に関して、Windows7とVB2008を使用しています。入力された単価を小数1位まで表示するためのコードを書きましたが、うまく動作しません。
  • テキストボックスの処理について質問です。入力された単価を小数1位まで表示するコードを書きたいのですが、思うように動きません。原因と対処方法を教えてください。
回答を見る
  • ベストアンサー

テキストボックスの処理について教えて下さい。

テキストボックスの処理について教えて下さい。 txtTanka1.Text というテキストボックスがありまして、単価を入れるところです。 単価には小数1位までのものがあります。 でも表示をそろえるために、すべて小数1位まで表示したいと思っています。 「3.0」と入力すると→表示は「3.0」 「5.5」と入力すると→表示は「5.5」 「4」と入力しても→表示は「4.0」 にしたいと思って下のコードを書きましたが、思うように動きません。 doubTanka = 0 doubTanka = CDbl(txtTanka1.Text) txtTanka1.Text = CStr(Format(doubTanka, "#,###.#")) どなたか、原因と対処方法を教えて下さい。 よろしくお願いします。 ちなみにWindows7とVB2008 です。

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

  • ベストアンサー
回答No.1
panasobi
質問者

お礼

ありがとうございました。 #,###.0 でよかったんですね。

関連するQ&A

  • テキストボックスの書式について(Access)

    Access2003の帳票フォーム上にあるテキストボックスで単価を表示させているのですが、単価が小数点1位まであるものと整数のみのものがあります。これを次のように単価のテキストボックスに表示させたいのですが 例1)単価:100→\100 (\100.0では無い) 例2)単価:99.4→\99.4 <説明> データが整数の場合は整数表示で先頭に¥マークを、データが小数を含む場合は小数を含めた表示で先頭に¥マークを付ける。 どの様な方法があるでしょうか。条件付き書式などが該当するように思えますが、インターネットで調べてもよく分かりませんでした。 VBAのサンプルコードなどご呈示いただければ幸いです。

  • フォームのテキストボックス内での処理

    ●VB6.0を使用しているのですが、テキストボックスで全角スペースのみ又は半角スペースのみの入力をした時msgboxでエラー処理するにはどうしたらいいのでしょうか? ●またテキストボックスで半角英数しか入力できないようにする処理があれば教えていただけますか?

  • エクセルVBA テキストボックス 金額の入力

    エクセルVBA ユーザフォームにて「商品登録」を作成しています。 単価を設定するテキストボックスについて2つ質問させてください。 1.単価が小数点以下の場合の処理 2.小数点なしの単価を小数点ありの単価に修正する方法 1.以下の方法で小数点ありとなしを判断しているのですが、 もっと簡単な方法があれば教えていただきたいです。 Set mytxt = Me.Controls("txt4") If mytxt.Text <> "" Then   tanka01 = mytxt.Text   tanka02 = Application.WorksheetFunction.RoundDown(tanka01, 0)   If tanka01 = tanka02 Then     mytxt.Text = Format(tanka01, "#,##0")   Else     mytxt.Text = Format(tanka01, "#,##0.0")   End If End If 2.上記方法で、単価をデータに設定後、変更を行うため、 TextBox内に単価を出力し変更できるようにしているのですが、 1度小数点なしで設定してしまうと、小数点以下が単価のTextBox内に 入力できなくなってしまいます。 小数点が再度入力できる方法は存在するでしょうか? 以上です。 色々と調べてみたのですが、見つからず、質問させていただきました。 よろしくお願いいたします。

  • テキストボックスの入力抑制

    使用言語はVB.NETです。 フォームAのテキストボックスAに文字を入力し確定すると、 フォームBが起動、フォームBのテキストボックスには、 テキストボックスAで入力した内容が表示されており、それを 変更することはできない。 ただし、テキストボックスAに何も入力せずに起動した場合、 テキストボックスBの内容は書き換え可能、というようなものを 作りたいと思っています。 また、テキストボックスBを入力不可にするには、Enabled=False 以外の方法で行いたいのです。 例えば、テキストボックスAで1と入れた場合、テキストボックスBの 初期表示1をBSで消しても、違う値をいれても、常に1に表示が戻される、 というようなものにしたいのですが…。 上記のようなものを作るには、どのように処理を作っていけば 良いのでしょうか? サンプル的なコードを教えていただけるとありがたいです。 よろしくお願いします。

  • VB6.0でテキストボックスの書式設定をしたいのですが、

    VB6.0でテキストボックスの書式設定をしたいのですが、 以下のコードを入れてみたところ.Formatの部分で、 エラー(メソッドまたはメンバーが見つかりません)がでます。 どう書き直したらよろしいでしょうか? 教えてください。よろしくお願いします。 数値を小数点2桁まで表示したいです。 Private Sub Text_Change(Index As Integer) For i = 6 To 16 Me.Text(i).Format = "0.00" Next i End Sub

  • テキストボックスがなくなる!?

    更新前処理のイベントプロシージャで、入力すればテキストボックス表示・未入力ならばテキストボックス非表示に設定しました。そのときはうまくいくのですが、いったんフォームを閉じて新たに開けると、入力しているのに元のテキストボックスしか表示されていなくて、でも、レコードのデータは消えてないのです。このほかに設定しないとだめなんですか?

  • 複数のテキストボックスのカンマ処理

    現在、ユーザーフォームに60個のテキストボックスを設置しています。 数値入力されるとカンマが付くようコードを書いているのですが、まとめて処理できるようなコードはないでしょうか? 現在… Private Sub TextBox1_Change() TextBox1.Text = Format(TextBox1.Text, "#,##0") End Sub Private Sub TextBox2_Change() TextBox2.Text = Format(TextBox2.Text, "#,##0") End Sub Private Sub TextBox3_Change() TextBox3.Text = Format(TextBox3.Text, "#,##0") End Sub これを60個 試しにfor~Nextで書いてみましたが、失敗しました。 Dim c As Integer For c = 1 To 60 Controls("TextBox" & c).Text = Format("TextBox" & c.Text, "#,##0") Next End Sub ご存知の方、お力を貸してください。 ウィンドウズ7のエクセル2013を使用しています。

  • ACCESSのコンボボックスについて

    ACCESSのコンボボックスに「012/015/028/125」等が設定されているて、 コンボボックスのプロパティの「入力チェック」は「はい」の設定になっております。 そういった場合、「12」と入力した場合、「012」とすることは可能でしょうか? テキストボックスの場合には、そのテキストボックスの更新後処理で Me.コード = Format(Me.コード, "000") のように記述し変更していたのですが・・・。 コンボボックスでは、「指定した値はリストにありません」と表示され、更新後処理がが実行されません。

  • 小数か整数かを判定する方法

    お世話になります。 ただいま、VB6で悩んでいる事があり質問させていただきに参りました。 1: あるテキストボックスがあり、それには数字のみ入力するのですが、 小数が入力された場合、小数点第1位までしか入力させない、または小数点第2位以下が入力されていた場合、エラーメッセージ表示という処理をしたいのです。 例えば、1.5という文字の入力はOKですが、1.55と入力された場合は、エラーメッセージを表示。 2: 上記のテキストボックスに整数が入力されていたら、Format関数で、"00000"というカタチにして、小数が入力されていたら、"000.0"というカタチにしたいのです。 整数か?小数か?という判定方法が分からず困っています。 熟練者の方々にはとても簡単な事かもしれませんが・・・。 ご教授の程、どうかよろしくお願いします。

  • VBA テキストボックスのイベントについて

    Microsoft ACCESS 2010を使用しています。 「テキスト0」という名前のテキストボックスがあり、 Me![テキスト0].Value = "こんにちは" というコードでテキストボックスの文字を変更します。 この時、テキストボックスの値が変更されたという条件でまた別のコードを動作させたいのですが、テキストボックスのイベントである、「更新前処理」「更新後処理」「ダーティー時」「変更時」では、動作しませんでした。 テキストボックスの値を変更する段階で別のコードを入力すれば対応は可能なのですが、「テキストボックスの値を変更した時」のタイミングで別コードを動作させることで、コードをまとめたいと考えています。 これに対して良い方法はありますか?よろしくお願いします。

専門家に質問してみよう