我有一堆activex文本框,我想要做的是更改特定数量文本框的数字格式。
最终我只想要一个子程序,我可以编写我选择的所有文本框 - textbox1,textbox2,textbox15 - 文本框的数量无关紧要,数字格式为“###,###,## #”。例如......
Private sub textNumFormat_<whatever>()
TextBox1.Text = Format(TextBox1.Text, "###,###,###")
TextBox2.Text = Format(TextBox2.Text, "###,###,###")
TextBox15.Text = Format(TextBox5.Text, "###,###,###")
end sub
我试图避免没有一堆文本框子。实施例
Private Sub TextBox1_Change()
TextBox1.Text = Format(TextBox1.Text, "###,###,###")
End Sub
然后是另一个子......
Private Sub TextBox2_Change()
TextBox2.Text = Format(TextBox2.Text, "###,###,###")
End Sub
和另一个子......
Private Sub TextBox15_Change()
TextBox15.Text = Format(TextBox15.Text, "###,###,###")
End Sub
希望它有意义。谢谢!
我试过了:
Private Sub TextBox1_Change()
TextBox1 = Format(TextBox1.Value, "###,###,###")
TextBox2 = Format(TextBox1.Value, "###,###,###")
TextBox5 = Format(TextBox1.Value, "###,###,###")
TextBox10 = Format(TextBox1.Value, "###,###,###")
End Sub
但它不起作用。
我还尝试创建一个通用子名称并放置格式代码,但也没有用。
如果有人可以帮助我,那将非常感激。
感谢。
答案 0 :(得分:0)
如果这是Access,则需要设置文本框的.Format
属性。您只是尝试将文本框对象设置为等于格式。对象不能等于格式。尝试这样的事情:TextBoxt.Format("###,###,###")
如果这是一个不同的Office应用VBA,那么您需要格式化文本并将文本框的.Text
属性设置为新格式化的文本,如下所示:TextBox1.Text = Format(TextBox1.Text, "###,###,###")
关于我的评论如下。为什么不直接使用workbook_open事件?
Private Sub Workbook_Open()
TextBox1 = Format(TextBox1.Value, "###,###,###")
TextBox2 = Format(TextBox1.Value, "###,###,###")
TextBox5 = Format(TextBox1.Value, "###,###,###")
TextBox10 = Format(TextBox1.Value, "###,###,###")
End Sub