对多个用户表单的文本框进行Fromatting

时间:2018-04-26 13:47:39

标签: excel vba

我正在构建一个基于MS Excel用户表单的大型程序。 为了使它更好,我需要格式化几个TextBox来显示有千个分隔符的数字。

对于一个TextBox,我会使用

  TextBox8 = Format(TextBox8, "#,##0")

但是有什么想法可以适用于60多个盒子吗?

什么不起作用:

a)Controls属性

  For i = 12 To 32
    Controls("TextBox" & i) = Format(Controls("TextBox" & i), "#,##0")
  Next i

b)和For Each作为TextBoxes不是有效的元素。

  For Each TB in UserForm.TextBoxes`

任何IDEA不能在60行中编码相同的代码?

1 个答案:

答案 0 :(得分:1)

试试这个。

For i = 12 To 32
    With Controls("TextBox" & i)
        .Value = Format(.Value, "#,##0")
    End With
Next i