VBA: 用户窗体列表框到字符串

VBA: Userform Listbox to String

我有一个用户表单,人们可以在其中循环浏览并在每次单击时将一个项目添加到列表框。通过单击另一个按钮,项目应转换为以逗号作为分隔符的字符串。

lstDatabase.AddItem txtfruit.Value

我尝试将列表框转换为数组,然后再转换为字符串,但这似乎不起作用

Dim deliverynoteArray() As Variant
Dim deliverynote_list As String

deliverynoteArray = lstDatabase.List
deliverynote_list = Join(deliverynoteArray, ",")

“添加”和“转换”都在 Private Sub _click 部分。这可能是问题所在吗?数据无法访问?

当使用 deliverynoteArray = lstDatabase.List 时,代码将创建一个二维数组,而 Join 仅适用于一维数组。因此,在将列表框元素放入数组后,您应该使用 Transpose,它将具有多行 和一列的二维数组 转换为一维类型。

尝试将 deliverynote_list = Join(deliverynoteArray, ",") 替换为:

   deliverynote_list = Join(Application.Transpose(deliverynoteArray), ",")
   Debug.Print deliverynote_list 'just to see it in Immediate Window...