2011-09-29 69 views
0

无论如何,您可以将文本格式的格式设置为始终有四位小数?我知道如何用C#和Visual Basic使用掩码文本框来实现它,但由于缺少函数,vba更具有挑战性。任何帮助将不胜感激。谢谢在VBA中格式化文本框4位十进制

Public Sub UserForm_Initialize() 
TextBox6.Text = Format(Number, "###.####") 
End Sub 

回答

6

你只是格式字符串不正确。它应该是这样的:

Public Sub UserForm_Initialize() 
    TextBox6.Text = Format(Number, "0.0000") 
End Sub 
1

尝试:

Public Sub UserForm_Initialize() 
    TextBox6.Text = Format(Number, "0.0000") 
End Sub 

Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean) 
    If IsNumeric(TextBox6.Value) Then 
     TextBox6.Text = Format(TextBox6, "0.0000") 
    End If 
End Sub 

Private Sub TextBox6_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 
    '// Disregard keys other than 0-9/period/minus sign. 
    If Shift Then KeyCode = 0 
    Select Case KeyCode 
    Case 8, 13, 46, 48 To 57, 96 To 105, 109, 110, 189, 190 
    Case Else 
     KeyCode = 0 
    End Select 
End Sub