• ベストアンサー

TextBoxから数字が文字として入力される?

VBA初心者です。エクセルを使って、不動産物件の管理を行いたいと思っています。早速、フォームを作成し入力作業に掛かったのですが…金額、坪数など数字(金額)で入力となって欲しいところが、文字として入力されているようです。(セルの左より表示となっている。金額表示が1,000ではなく1000となってしまう。)どの部分を修正すれば、通常の数字として入力されるのでしょう? マクロなど始めたばかりの初心者で勉強中です。 宜しくお願い申し上げます。

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

  • ベストアンサー
noname#187541
noname#187541
回答No.2

こんにちは。 セルに入力した場合は、文字や数値を自動で判断してくれますが、TextBoxはそういったことはしてくれません。 すべて文字列としての入力になりますので、セルのようにしたいのであれば、入力確定後に自分でコードを書いてそうなるようにしないといけません。 入力確定後というのは、例えばEnterキーを押して次のコントロールに移動したとき等です。 Enterキーを押して次のコントロールに移る時には、Exitイベントが発生します。 このイベントにカンマ区切りにする処理や右詰にする処理などを書いてやればいいでしょう。 一例として、入力が数値だったらカンマ区切りにして右詰にします。 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox1.Value) Then TextBox1.TextAlign = fmTextAlignRight TextBox1.Value = Format(TextBox1.Value, "#,##0") End If End Sub どうでしょうか。

angels2
質問者

お礼

ご回答、有り難うございます。 早速、試してみました! 凄い!私の希望通りでした。 有り難うございます。 これからもVBA初心者として、ご質問をさせて頂くことが多いかと思いますが、何卒宜しくお願い申し上げます。

その他の回答 (1)

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.1

>フォームを作成し入力作業に・・・ >セルの左より表示となっている 矛盾しているようですが、仰っているのは、ユーザーフォームのことでしょうか?それともワークシートのセルのことでしょうか?それにより対応が異なりますよね。 フォームなら、TextBoxのイベントでカンマ区切りの編集などを行うことになると思います。でワークシートなら、セルの書式設定で行うことになります。

angels2
質問者

お礼

ご回答頂き有り難うございます。 ユーザーフォームのことです。イベントでカンマ区切り(数字)となるのですね?調べてみます。

関連するQ&A