プロが教えるわが家の防犯対策術!

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

教えて!goo グレード

A 回答 (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

どうでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/04 21:49

>フォームを作成し入力作業に・・・


>セルの左より表示となっている
矛盾しているようですが、仰っているのは、ユーザーフォームのことでしょうか?それともワークシートのセルのことでしょうか?それにより対応が異なりますよね。

フォームなら、TextBoxのイベントでカンマ区切りの編集などを行うことになると思います。でワークシートなら、セルの書式設定で行うことになります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/04 21:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング