我有以下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中显示值?
答案 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
它是这样的: