在带有数千个分隔符的ComboBox中显示值

时间:2018-07-13 10:18:00

标签: excel excel-vba

我有以下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时,千位分隔符将被删除。如何在具有数千个分隔符的ComboBox中显示值?

1 个答案:

答案 0 :(得分:2)

要显示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

它是这样的:

enter image description here