写入时或按下选项卡时EXCEL VBA格式文本框

时间:2018-05-09 20:52:19

标签: excel vba textbox

所以我几乎完成了我的代码,只缺少一件事,用户将不得不引入12个数字,例如" 123456789123"结果是123-456.789-123,我设法在打印到excel表时获得格式,但我想要的东西可以在当下给我这种格式,因为它更容易发现任何输入错误。例如,用户将123456789123放在文本框上,并在标签到其格式化的另一个框时。可能吗?

1 个答案:

答案 0 :(得分:0)

Private Sub TextBox1_Change()
    If Len(TextBox1.Text) = 3 And TextBox1.Text Like "###" = True Then     
        TextBox1.Text = TextBox1.Text & "-"
    If Len(TextBox1.Text) = 7 And TextBox1.Text Like "###-###" = True Then 
        TextBox1.Text = TextBox1.Text & "."
    If Len(TextBox1.Text) = 11 And TextBox1.Text Like "###-###.###" = True Then 
        TextBox1.Text = TextBox1.Text & "-"
    If Len(TextBox1.Text) > 15 Then TextBox1.Text = Left(TextBox1.Text, 15)

End Sub