複数の書式のテキストボックスを含むユーザーフォームがあります。私は空白( "")として初期化し、afterupdate()を使用してフォーマットします。これはすべて正常に動作します。私の問題は、ユーザーが最初に移動したデータをキー入力しないか、画面上で無意識にクリックしてしまう可能性があるからです。値を入力すると、テキストボックスから移動するときに値が正しくフォーマットされます。しかし、テキストボックスをもう一度選択し直すと、値がクリアされます。また、パーセントで書式設定されたテキストボックスでこれを行うと、実際には不一致エラーでバグが発生します。ここでユーザーフォームのテキストボックスの書式設定
は私の現在のコードのスライスである:これをクリーンアップする方法について
Private Sub UserForm_Initialize()
ValueAnalysisTextBox.Value = ""
CapRateTextBox.Value = ""
End Sub
Private Sub ValueAnalysisTextBox_AfterUpdate()
ValueAnalysisTextBox.Value = Format(Val(ValueAnalysisTextBox.Value), "$#,###")
End Sub
Private Sub CapRateTextBox_AfterUpdate()
CapRateTextBox.Value = Format(Val(CapRateTextBox.Value)/100, "Percent")
End Sub
任意の考えは素晴らしいことです。
。最終結果がどのように見えるかをユーザーに見せたい場合は、テキストボックスの代わりにラベルを使用して、書式設定されたテキストを表示することをお勧めします。 – tigeravatar
フォーマットされたテキストをテキストボックスに入れる必要がある場合は、 'After_Update'コードにチェックを入れて、テキストボックスの値がすでに必要なフォーマットかどうかを確認しなければなりません。 – tigeravatar