Userform Listbox,动态填充

时间:2014-06-06 13:46:39

标签: excel-vba dynamic listbox range vba

我有Userform Listbox个对象。每次我开始Userform选择一些选项,然后使用Userform打开第二个Listbox。根据{{​​1}}中设置的选项,将项目添加到Userform 1Listbox应该动态填充某些数据。

当我关闭第二个Listobox并再次启动时问题会上升 - Userform变为空白。我认为这是由于没有清理的物品,但它看起来不是重点......

编辑(2014年6月9日):
问题甚至更有趣:当我使用代码逐步方法时,它确实有效。当我正常启动时,它会停止在列表框中显示数据:(

这是第二个Listbox的代码:

Userform

1 个答案:

答案 0 :(得分:0)

使用数组解决了问题。

zmienna_dost = Application.WorksheetFunction.CountIf(Workbooks("Testowanie_fak.xlsm").Worksheets("Dostawcy").Range("D1:D" & lastrow1), Mid(nazwa_arkusza, 1, 2))

ReDim dostawcy_arr(0 To zmienna_dost, 0 To 1) As String

For Each MyCell In Range("dostawcy").Cells

    If MyCell.Offset(0, 3).Value = jaki_kraj And _
    IsEmpty(MyCell.Offset(0, 3)) = False Then 'jeżeli dostawca ma wpisany VAT dla kraju
        dostawcy_arr(i, 0) = MyCell
        dostawcy_arr(i, 1) = MyCell.Row
        i = i + 1
    End If

Next MyCell

With Dostawcy_listbox
    .ColumnCount = 2
    .ColumnWidths = "140;39"
    .List = dostawcy_arr
End With