excel - 从 Excel 列表框中删除项目
问题描述
我需要在某些条件下使用 Range 中的数据从 Listbox 中删除项目。我不想删除列表框所基于的工作表中的数据。
这是我的代码的摘录:
Me.LstWSource.RowSource = ""
If Len(rRange.Offset(1, 0).Formula) > 0 Then
Set rRange = ThisWorkbook.Sheets(G_sNameReferenceS).Range(rRange.Offset(1, 0), rRange.End(xlDown))
With Me.LstWSource
.ColumnWidths = "28pt"
.RowSource = rRange.Address
.ListIndex = -1
End With '>>>
End If
'>>>>>>>>>>>>>>>>>>>>>>>>
sRet = fG_SortingBasicS("lstYear", "DESC")
'>>>>>>>>>>>>>>>>>>>>>>>>
For i = Me.LstWSource.ListCount - 1 To 0 Step -1
'>> current string condition to delete Item <<
If Me.LstWSource.List(i) > CStr(Year(G_datJourTraitee)) Then
Me.LstWSource.RemoveItem (i)
End If
Next i
错误由 RemoveItem 触发。
解决方案
如果您使用.RowSource
填充 ListBox,则无法从列表中删除列表项。
因此,您需要使用 填写您的列表LstWSource.AddItem
。循环遍历您的范围并根据您的条件将每个项目添加到您的 ListBox。另请参阅在具有多列的列表框中添加项目。
推荐阅读
- forms - Vuetify / Vee Validate 当所有字段都有效时自动提交表单
- javascript - 如何映射对象以在 JS 中获取具有“true”值的键数组?
- r - 将新文件添加到响应式文件路径时,Shiny 中的 reactiveFileReader 不会更新
- reactjs - 将 firebase twitter 身份验证添加到 react js google chrome 扩展
- javascript - 使用 Chrome 扩展在特定网站上执行 JavaScript
- discord.py - 如何在 Discord.py 中为特定的“arg”给出不同的答案
- llvm - 如何在优化的 IR 中从 dbg 获取原始变量名称
- gimp - 如何在 Gimp 中使文本框背景颜色不透明?
- javascript - 为什么此脚本中的实时搜索未显示实时结果?
- python - 运行 django 更新但调用 save 方法