VBA Excel在多列多选列表框中预选项目
我试图加载一个包含两列项目的列表框,对照电子表格检查每个条目,如果找到该条目,则选择该行 结果是加载一个客户列表,识别和选择邮件列表中已有的项目,允许用户编辑选择并使用更新的选择更新电子表格 我试图在加载列表框的过程中进行检查,但由于出现错误,我将其分离出来以使事情更清楚,错误出现在下面的代码中,行CRM\u Edit\u Groups.ListBox1(j).Selected=TrueVBA Excel在多列多选列表框中预选项目,excel,listbox,multi-select,userform,vba,Excel,Listbox,Multi Select,Userform,Vba,我试图加载一个包含两列项目的列表框,对照电子表格检查每个条目,如果找到该条目,则选择该行 结果是加载一个客户列表,识别和选择邮件列表中已有的项目,允许用户编辑选择并使用更新的选择更新电子表格 我试图在加载列表框的过程中进行检查,但由于出现错误,我将其分离出来以使事情更清楚,错误出现在下面的代码中,行CRM\u Edit\u Groups.ListBox1(j).Selected=True With Rows(1) Set c = .Find(What:=showgroup
With Rows(1)
Set c = .Find(What:=showgroup, LookIn:=xlValues, LookAt:=xlWhole)
End With
For i = 0 To wk.Sheets("temp").UsedRange.Rows.count + 1
code = wk.Sheets("temp").Range("a" & mycount)
company_name = wk.Sheets("temp").Range("b" & mycount)
CRM_Edit_Groups.ListBox1.ColumnCount = 2
CRM_Edit_Groups.ListBox1.ColumnWidths = "40;80"
CRM_Edit_Groups.ListBox1.AddItem
CRM_Edit_Groups.ListBox1.list(i, 0) = code
CRM_Edit_Groups.ListBox1.list(i, 1) = company_name
mycount = mycount + 1
Next
For j = 0 To Me.ListBox1.ListCount - 1
check = Me.ListBox1.list(j, 0)
With Columns(c.Column)
Set d = .Find(What:=check, MatchCase:=False)
End With
If Not d Is Nothing Then CRM_Edit_Groups.ListBox1(j).Selected = True
If Not d Is Nothing Then Set d = Nothing
Next
我包含了加载列表框的代码,以及根据电子表格检查每个列表框的循环,我尝试了许多组合,包括:
CRM_Edit_Groups.ListBox1(j,0).Selected = True
CRM_Edit_Groups.ListBox1(j,1).Selected = True
CRM_Edit_Groups.ListBox1(j.row).Selected = True
…但所有这些都会导致“运行时错误'424':需要对象”,我知道我无法处理此处的行,但在搜索站点和google时,我只找到有关如何从列表框中读取所选项目的页面信息,而没有太多关于如何在初始化期间进行选择的页面信息 您应该使用
CRM_Edit_Groups.ListBox1.Selected(j) = True
此外,请确保您的列表允许多个选择。在userform窗口中选择列表框并转到对象属性。在那里找到属性
MultiSelect
并选择选项1
马吕斯,这样做了,而且比这更好的是,我可以看出我错在哪里了!非常感谢。