填充ListBox时,宏停留在For Each循环中

时间:2019-03-11 12:16:17

标签: excel vba foreach listbox populate

我有以下代码来填充列表框:

For Each cellValue In Sheet7.Range("A:A").Cells
    If cellValue.value = Get_ClientID(TextBox1.Text) Then
        equipmentName = Get_EquipmentName(Sheet7.Cells(cellValue.row, 2))
        numeroCalibracao = TextBox6.Text
        ultimacalibracao = TextBox5.Text
        ListBox1.AddItem equipmentName
        ListBox1.List(ListBox1.ListCount, 1) = numeroCalibracao
        ListBox1.List(ListBox1.ListCount, 2) = ultimacalibracao
    End If
Next

问题在于,运行时Excel不再响应,甚至Ctrl + Break也无法中断。它应根据表单7上匹配项的数量填充列表框。我尝试用数字替换ListBox1.Listcoun,但仍然无法正常工作。我想念什么?

信息:

  • Get_ClientID是一个接受字符串并返回整数的函数;
  • Get_EquipmentName是一个接受整数并返回字符串的函数;
  • cell valueequipmentNamenumeroCalibracaoultimaCalibracao是在子标题开头的变量Dim

如果需要更多信息,请告诉我,我会提供。

1 个答案:

答案 0 :(得分:2)

问题是您的主循环,您正在遍历A列中的每一行。我建议您将范围设置为$('#RegisterUserIcon').click(function () { $('#RegisterUserIcon').popModal({ placement: "bottomCenter", html: $('#imageContent').html() }); }); $('.imageUserIcon').on('click', function () { alert("hellO"); }); ,其中"Range("A1:A" & LastRow)是最后一行,例如:

LastRow

如果仍然没有响应,请在循环中添加LastRow = Range("A:A").Find(what:="*", After:=Range("A1"), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).row