我有一個用戶表單,其中包含具有多種格式的文本框。我將Initialize設置爲空白(「」),然後使用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