• ベストアンサー

エクセルVBA ユーザーフォームのtextboxの書式設定って?

エクセルでユーザーフォームを作成しています。 金額を入力するTextBoxを作ったのですが、 その表示方法を「,」(カンマ)で桁区切り で表示さいたいのですが、方法ってありますか? TextBoxプロパティーを色々見ているのですが、 セルの書式設定みたいなものは無さそうなのですが、 方法があれば、教えていただきたく思います。 宜しくお願いいたします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは、 TextBox には書式はありませんから、以下のようにFormat 関数を使います。 テキストボックスの文字は右揃えは、そのプロパティの TextAlign =3 '-fmTextAlignRigh に設定します。 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim str1 As String If KeyCode = 13 Then  str1 = TextBox1.Text  If IsNumeric(str1) Then   TextBox1.Text = Format$(CLng(str1), "#,##0")  End If End If End Sub また、その数字を使って計算する場合は、Clng /CDbl で数値に変換します。 Private Sub CommandButton1_Click() '計算する場合 Dim str1 As Variant  str1 = TextBox1.Text  If IsNumeric(str1) Then  str1 = CLng(str1) * 10  '計算する場合は、Clng で変換  TextBox2.Text = Format$(CLng(str1), "#,##0")  End If End Sub

tmgolf
質問者

お礼

早速のご返答ありがとうございます。 やはり、書式設定みたいなのは無いのですね。 コード方を作成していただき、誠にありがとう ございます。 カンマを表示させるのに、こんなにコードが 必要なのですね。 おかげさまで、このコードを参考に、カンマ 導入をしていけそうです。 で、少し、このコードについて質問なのですが >If KeyCode = 13 Then の「13」とは何を意味しているのでしょうか。 keycodeの事もあまり理解できていないので もし、お手数でなければお願いいたします。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >If KeyCode = 13 Then の「13」とは何を意味しているのでしょうか。 keycodeの事もあまり理解できていないので これは、わたし流なのかもしれませんが、TextBox_Change だと、いちいち、入力の最中にプログラムが働いて、結構、ウットウしいので、Enter(= 13 = CR ) の時だけ、プログラムが働くようにしています。

tmgolf
質問者

お礼

なるほど 「enter処理の時に」と言うことなのですね。 とても勉強になりました。 ありがとうございますー

関連するQ&A

  • ユーザーフォーム内のテキストボックス内の書式設定

    A1セルに12.345と入力してあり、書式は「数値」で小数点以下の桁数2にしてあり、 「12.35」と表示されます。 VBAを起動して、ユーザーフォームを挿入し、 テキストボックスを作成し、 TextBox1の「ControlSource」にA1と入力すると TextBox1には「12.345」と表示されます。 エクセルのA1と同じ様に TextBox1も「12.35」と表示したいのですがどうすればいいのでしょうか? エクセル2003です。 よろしくお願い致します。

  • VBAで入力した数字の書式が上手くいきません

    VBAの学習を始めました。使用EXCELのVersionは2000です。 フォーム上のTextBoxへ数字を入力し、それをSheetのセルに代入したのですが、セルの左側に寄ってしまい、3桁のカンマ表示も出来ません。 勿論、表のセルには「数字・カンマ表示」の書式設定は行ってありますので、キーボードから直接入力した場合には正しく表示されます。 (以前同じようなsheetを作った時には上手くいったので理由が解りません) どこが間違っているのでしょうか?アドバイスの程、宜しくお願い申し上げます。 

  • エクセルの書式設定を、ワードに反映させたい

    エクセルで、金額に書式設定で桁区切りの コンマをつけたデータがあります。 このデータを、ワードで差し込み印刷すると、 コンマが表示されません。 表示させる方法はあるのでしょうか? よろしくお願いいたします。

  • EXCEL TextBox farmat

    excel VBA フォームの TextBox入力時 1,200.5 のように 桁区切りと少数点以下を表示したいのですが Formatの指定で可能でしょうか Format(TextBox1, "#,###.#") ではダメなようです

  • ユーザーフォームのテキストボックスの書式設定について

    ユーザーフォームのテキストボックスの書式設定について TextBox1に金額、TextBox2に日付を入力し、Sheet1に転記するような フォームを作っています。 TextBox1には、 Private Sub TextBox1_Change() y = TextBox1.Text TextBox1.Text = Format$(CLng(y), "#,##0") End Sub としています。 TextBox2には、書式をH○○.○.○という設定にしたいのですが、 どのようにしたらよいでしょうか。

  • Excel-VBA TextBoxの書式設定について

    Excel-VBA TextBoxの書式設定について Excel2003-VBAのUserForm1にTextBox1を作成しました。 横位置・インデント・縦位置を設定しようとして プロパティを見たものの該当プロパティが分かりません。 ご教授宜しくお願いします。

  • ユーザーフォームに書式設定は出来るのでしょうか

    お世話になっています。 ユーザーフォームにテキストボックスを配置し品名・数量・単価・金額等を入力しています。 ●御指導いただきたき事   1・数量・単価を入力し終わった時、,(カンマ)を表示させたいのですが可能なのでしょうか     入力(123456789) → 表示(123,456,789)   2・可能ならば設定の方法を御指導ください。 宜しく御願いいたします。

  • エクセルVBAのユーザーフォーム

    こんばんは、エクセルVBAでユーザーフォームを作成しました。 そこに入力したものがブックに反映するわけですが、フォームに0(ゼロ)を入力した場合、ブック上のセルを選択すると0と入っているのですが、表示されません。なぜでしょう???? これができないとせっかく時間をかけて作ったのに、使えません。どなたかご存知の方よろしくお願いします!!!!

  • VB2005のTextBoxでカンマ区切りの表示

    よろしくお願いします。開発環境はVB2005です。 フォーム上に配置したTextBoxに金額を入れるのですが、わかりやすく読めるようにユーザーが数字を入力したら自動的に3桁のカンマ区切りで表示したいのですが、どのような方法があるのか教えてください。

  • excel vba ユーザーフォーム

    現在、セルa101からa110までに「商品名」、セルb101からb110までに「金額」が 入力済みです。 このデータを、ユーザーフォーム上にコンボボックスを2つ作成し、セルa1へ 商品名を選択後、入力。また、b2へ金額を選択後、入力させたいのです。 また、ユーザーフォーム上にテキストボックスを作成し、ここに入力した 「備考」の全角10文字をc1へ移動したいです。 今のところ、ユーザーフォーム、コンボボックス、テキストボックスを作成した だけで 立ち往生しています。 どなたか、ご教授お願いいたします。

専門家に質問してみよう