Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3840 / 13645 ツリー ←次へ | 前へ→

【59878】テキストボックスのカンマ表示 エクセル初心者 09/1/15(木) 11:19 質問[未読]
【59879】Re:テキストボックスのカンマ表示 kanabun 09/1/15(木) 11:34 発言[未読]
【59881】Re:テキストボックスのカンマ表示 マクロマン 09/1/15(木) 11:40 発言[未読]
【59882】Re:テキストボックスのカンマ表示 マクロマン 09/1/15(木) 11:42 発言[未読]
【59895】Re:テキストボックスのカンマ表示 エクセル初心者 09/1/15(木) 17:23 お礼[未読]

【59878】テキストボックスのカンマ表示
質問  エクセル初心者  - 09/1/15(木) 11:19 -

引用なし
パスワード
   エクセルもVBAも全くの初心者です。

簡単な入力画面(フォーム)を作って満足しています。

ですが、桁表示のカンマが出せなくて困ってます。

テキストボックスの中には数字しか入力しません。
その後、エクセルのセルに移行するので
セルでカンマ設定(正しい表現?)はできるので
エクセルにデータが移ってからはいいのですが、
入力途中のフォームではカンマが表示されないので
入力している時に桁の確認がしずらく不安になります。
(文字も小さいので・・・・)

文字の大きさとかは
VBA操作画面にあるプロパティで変更できるのですが
小数点設定やカンマ設定ってはやりプログラムで書かないとダメなんでしょうか?

できればわかり易く教えて欲しいのですが宜しくお願いします。

【59879】Re:テキストボックスのカンマ表示
発言  kanabun  - 09/1/15(木) 11:34 -

引用なし
パスワード
   ▼エクセル初心者 さん:

>入力途中のフォームではカンマが表示されないので
>入力している時に桁の確認がしずらく不安になります。

>小数点設定やカンマ設定ってはやりプログラムで書かないとダメなんでしょうか?

TextBoxに入力があるたびに 書式を設定することは コードでできますが、

(一例です ↓)
Private Sub TextBox1_Change()
 With TextBox1
   If InStr(.Text, ".") Then
    .Text = Format$(.Text, "#,##0.####")
   Else
    .Text = Format$(.Text, "#,##0")
   End If
 End With
End Sub

問題は
テキストボックスのテキストが たとえば
  『12,345.678』
となっているものを、
セルに 数値に変換して渡さないといけないことです。

たとえば、こんな風に。。。
Private Sub CommandButton1_Click()
  ActiveCell.Value = CDbl(TextBox1.Text)
End Sub

【59881】Re:テキストボックスのカンマ表示
発言  マクロマン  - 09/1/15(木) 11:40 -

引用なし
パスワード
   入力途中も確認したいなら
Changeイベントを使います。

Private Sub TextBox1_Change()
Me.TextBox1.Value = Format(Me.TextBox1, "#,###")
End Sub

確定後カンマを付けたいなら
Exitイベントでいけます。

【59882】Re:テキストボックスのカンマ表示
発言  マクロマン  - 09/1/15(木) 11:42 -

引用なし
パスワード
   IEの更新をしなかったためkanabunさんのレスに気付きませんでした。
失礼しました。

【59895】Re:テキストボックスのカンマ表示
お礼  エクセル初心者  - 09/1/15(木) 17:23 -

引用なし
パスワード
   お返事ありがとうございました。

全てきちんと動作しました、大変助かりました。
ありがとうございます

3840 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free