excel - 如何清除列表框中的数据
问题描述
好的,我认为这很简单,但显然我仍然没有找到解决方案。
所以我想通过单击一个按钮来清除我的列表框。
我使用过lstDatabase.RowSource = vbNullString
,但它会擦除整个数据以及我的标题。
如何清除列表框中的数据,但保留标题?
解决方案
您可以使用联合方法组合两个范围。如果您的整个数据在名为“Sheet1”的工作表上的 Range("A1:E10") 中,其中 Range("A1:E1") 是标题, Range("A2:E10") 是记录;然后您可以定义两个范围 - 一个标题和一个记录。将它们与 Union 方法结合使用。在填充 lstDatabase 列表框时使用组合范围。当你想清除列表框时,设置 rowsource = headers 范围。
Dim header as Range, records as Range, allData as Range
Set header = Sheets("Sheet1").Range("A1:E1")
Set records = Sheets("Sheet1").Range("A2:E10")
'Combine header and records into allData
Set allData = Union(header, records)
'Populating the listbox like
lstDatabase.RowSource = allData
'Clear the listbox like, keeping header only.
lstDatabase.RowSource = header
推荐阅读
- python - 计算熊猫行中值的出现次数
- openssl - jwt.io 上的“秘密 base64 编码”是什么意思,我将如何使用 `openssl dgst` 模拟它
- visual-studio-2015 - 收到错误:Visual Studio 2015 中的“代码执行无法继续,因为找不到 hdf5.dll”
- java - Java8 流:从两个命令对象列表中过滤数据。我在做什么还有其他有效的方法吗?
- node.js - 无法使用 nodeJS 从表中检索数据。错误:ORA-12560:TNS:协议适配器错误
- css - 如何对齐图片前面的文字
- ionic-framework - JIRA API 的离子 CORS 问题
- php - 只获取第一个条目 php mysql
- python - 将 Pandas 数据框转换为字典
- c# - XAML 应用程序抛出 .Net System.Windows.Markup.XamlParseException