ユーザーフォームのテキストボックスの書式設定について
TextBox1に金額、TextBox2に日付を入力し、Sheet1に転記するような
フォームを作っています。
TextBox1には、
Private Sub TextBox1_Change()
y = TextBox1.Text
TextBox1.Text = Format$(CLng(y), "#,##0")
End Sub
としています。
TextBox2には、書式をH○○.○.○という設定にしたいのですが、
どのようにしたらよいでしょうか。
No.3ベストアンサー
- 回答日時:
返事が遅くなりました。
時間が経った場合に、補足側にコメントを付けられても気がつかないことがあります。>Enterをいれず、マウスでTTextBox1からextBox2へと移動した場合はどうなるのでしょうか?TextBox2_Changeでしょうか?
もちろん、そういう設定もありますが、少し困った質問ですね。もともと、Enter を入れて、入力値を確定するという意味で、Enter を入れるという意味になるはずです。タブで次のテキストボックスに移動するというなら、以下のようになりますが、そうでない場合は、別の方法になります。[タブで移動する場合]と[マウスで移動する場合を含む]は、共有しません。
''//タブで移動する場合
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode() <> 13 And KeyCode <> 9 Then Exit Sub
If IsNumeric(TextBox1.Text) Then
TextBox1.Text = Format(TextBox1.Text, "#,##0")
End If
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode() <> 13 And KeyCode <> 9 Then Exit Sub
If IsDate(TextBox2.Text) Then
If Abs(Year(Date) - Year(CDate(TextBox2.Text))) < 20 Then '20年の差がある時は無視
TextBox2.Text = Format(CDate(TextBox2.Text), "GEE.M.D")
End If
End If
End Sub
''//マウスだけで移動する場合を含む
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call ChangeFormat(TextBox1)
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call ChangeFormat(TextBox2)
End Sub
Sub ChangeFormat(objTxt As Object)
If IsNumeric(objTxt.Text) Then
objTxt.Text = Format(objTxt.Text, "#,##0")
ElseIf IsDate(TextBox2.Text) Then
If Abs(Year(Date) - Year(CDate(objTxt.Text))) < 20 Then '20年の差がある時は無視
objTxt.Text = Format(CDate(objTxt.Text), "GEE.M.D")
End If
End If
End Sub
No.2
- 回答日時:
Enter を入れると変化するようにしました。
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode() <> 13 Then Exit Sub
If IsNumeric(TextBox1.Text) Then
TextBox1.Text = Format(TextBox1.Text, "#,##0")
End If
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode() <> 13 Then Exit Sub
If IsDate(TextBox2.Text) Then
If Abs(Year(Date) - Year(CDate(TextBox2.Text))) < 20 Then '20年の差がある時は無視
TextBox2.Text = Format(CDate(TextBox2.Text), "GEE.M.D")
End If
End If
End Sub
この回答への補足
Enterをいれず、マウスでTTextBox1からextBox2へと移動した場合はどうなるのでしょうか?TextBox2_Changeでしょうか?
補足日時:2010/10/15 16:11No.1
- 回答日時:
テキストボック1には123456などと、またテキストボックス2には2010/10/12などと入力した後でユーザーフォームをクリックすることで表示形式が変わるようにします。
Private Sub UserForm_Click()
y = TextBox1.Text
TextBox1.Text = Format(y, "#,##0")
x = TextBox2.Text
TextBox2.Text = Format(x, "ge.m.d")
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの引出線につ...
-
ワードで枠を固定させて使いたい。
-
ワードで白抜き文字列を簡単に...
-
Googleスライドで線を引く時 ま...
-
エクセルのA4用紙の中央に線を...
-
文字を行の真ん中に配置したい
-
テキストボックスの大きさを揃える
-
EXCELの円に線を引きたいのです
-
WordでA4用紙の真ん中に折り線...
-
二つのテキストボックスの内容...
-
WORDの矢印の先,もっと小さく...
-
ワードで表にテキストボックス...
-
Wordの表移動で指定した場所に...
-
wordのテキストボックス内の右...
-
web上からダウンロードした申込...
-
ワードで作った枠がずれないよ...
-
2007ワード テキストボックス...
-
ワードの字にオートシェイプで...
-
テキストボックスの枠を消す
-
Word2013
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードで枠を固定させて使いたい。
-
テキストボックスの引出線につ...
-
Wordの表移動で指定した場所に...
-
ワードで白抜き文字列を簡単に...
-
web上からダウンロードした申込...
-
エクセルのA4用紙の中央に線を...
-
Googleスライドで線を引く時 ま...
-
文字を行の真ん中に配置したい
-
WordでA4用紙の真ん中に折り線...
-
wordのテキストボックス内の右...
-
二つのテキストボックスの内容...
-
ワードで表にテキストボックス...
-
EXCELの円に線を引きたいのです
-
WORDの引き出し線について
-
WORDの縦書き左右中央揃え...
-
テキストボックスの大きさを揃える
-
ワード、複数のページにまたが...
-
WORDの矢印の先,もっと小さく...
-
テキストボックスの枠を消す
-
文字に丸をつけるには・・・?
おすすめ情報