VBA Excel 多列 multiselect 列表框中的前 select 项
VBA Excel pre-select items in a multicolumn multiselect listbox
我正在尝试加载一个包含两列项目的列表框,根据电子表格检查每个条目,如果找到该条目,则select检查该行。
结果是加载客户列表,识别和 selecting 已经在邮寄列表中的项目,允许用户编辑 selection 并使用更新后的 select离子。
我试图在列表框的加载中进行检查,但由于我被错误绊倒,我将它分开以使事情更清楚,错误发生在下面的代码行 CRM_Edit_Groups.ListBox1(j).Selected = True
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
...但所有结果都是 "Run-time error '424': Object required",我知道我无法处理此处的行,而是搜索网站,google 我只是找到有关如何阅读的信息页面select 编辑了列表框中的项目,而没有太多关于如何在初始化期间 select 的内容。
你应该使用
CRM_Edit_Groups.ListBox1.Selected(j) = True
此外,请确保您的列表允许多项选择。 Select 您在用户表单中的列表框 window 并转到对象属性。找到 属性 MultiSelect
并选择选项 1
.
我正在尝试加载一个包含两列项目的列表框,根据电子表格检查每个条目,如果找到该条目,则select检查该行。
结果是加载客户列表,识别和 selecting 已经在邮寄列表中的项目,允许用户编辑 selection 并使用更新后的 select离子。
我试图在列表框的加载中进行检查,但由于我被错误绊倒,我将它分开以使事情更清楚,错误发生在下面的代码行 CRM_Edit_Groups.ListBox1(j).Selected = True
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
...但所有结果都是 "Run-time error '424': Object required",我知道我无法处理此处的行,而是搜索网站,google 我只是找到有关如何阅读的信息页面select 编辑了列表框中的项目,而没有太多关于如何在初始化期间 select 的内容。
你应该使用
CRM_Edit_Groups.ListBox1.Selected(j) = True
此外,请确保您的列表允许多项选择。 Select 您在用户表单中的列表框 window 并转到对象属性。找到 属性 MultiSelect
并选择选项 1
.