首页 > 解决方案 > 使用千位分隔符在 ComboBox 中显示值

问题描述

我有以下 Excel 电子表格:

        A          B
1    ComboBox1
2      1.000
3     10.000
4    100.000
5

使用以下 VBA 将此列表加载到 ComboBox 中:

Sub UserForm_Activate()
ComboBox1.List = Sheet1.Range("A2:A4").Value
End Sub

到目前为止,这一切都很好。


我现在遇到的问题是 A2:A4 范围内的值使用千位分隔符,但是当我将其加载到组合框中时,千位分隔符被删除。如何使用千位分隔符在我的 ComboBox 中显示值?

标签: excelvba

解决方案


要显示 thausand 分隔符,您可以将值格式化为字符串并将分隔符放在那里。这是通过格式函数 - 完成的Format(10000, "#,##0.00")。然后值应该保存为字符串数组,这个数组就是那个数组,它作为源传递给UserForm.Combobox1.List

Sub UserForm_Activate()

    Dim myArr As Variant
    Dim myRng As Range

    Set myRng = Range("A1:A4")
    ReDim myArr(myRng.Cells.Count)

    Dim i As Long
    For i = LBound(myArr) To UBound(myArr)
        myArr(i) = Format(myRng.Cells(i + 1), "#,##0.00")
    Next i

    ComboBox1.List = myArr

End Sub

这是它的样子:

在此处输入图像描述


推荐阅读