如何在Excel中保存或保留对ActiveX列表框的选择?
假设您已经创建了一些列表框并在列表框中进行了选择,但是,当关闭并重新打开工作簿时,这些列表框的所有选择都消失了。 您是否要在关闭并重新打开工作簿时保留在列表框中所做的选择? 本文中的方法可以为您提供帮助。
使用Excel中的VBA代码保存或保留ActiveX列表框的选择
批量插入复选框 的效用 Kutools for Excel 可以帮助您快速一次在选定范围内插入多个复选框。 然后,您可以使用 批量删除复选框。 参见sccreenshot:
Kutools for Excel:具有200多个方便的Excel加载项,可以在60天内免费试用,没有任何限制。 立即下载并免费试用!
使用Excel中的VBA代码保存或保留ActiveX列表框的选择
惊人的! 在 Excel 中使用高效的选项卡,如 Chrome、Edge、Firefox 和 Safari! 每天节省50%的时间,并减少数千次鼠标单击!
如果Excel中有ActiveX列表框,则下面的VBA代码可以帮助您保存或保留选择。 请执行以下操作。
1.在工作簿中包含您要保留选择的ActiveX列表框,按 其他 + F11 同时打开 Microsoft Visual Basic应用程序 窗口。
2.在 Microsoft Visual Basic应用程序 窗口,双击 的ThisWorkbook 在左窗格中打开 的ThisWorkbook 代码 窗口。 然后将以下VBA代码复制到代码窗口中。
VBA代码:在Excel中保存对ActiveX列表框的选择
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim I As Long
Dim J As Long
Dim K As Long
Dim KK As Long
Dim xSheet As Worksheet
Dim xListBox As Object
On Error GoTo Label
Application.DisplayAlerts = False
Application.ScreenUpdating = False
K = 0
KK = 0
If Not Sheets("ListBox Data") Is Nothing Then
Sheets("ListBox Data").Delete
End If
Label:
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "ListBox Data"
Set xSheet = Sheets("ListBox Data")
For I = 1 To Sheets.Count
For Each xListBox In Sheets(I).OLEObjects
If xListBox.Name Like "ListBox*" Then
With xListBox.Object
For J = 0 To .ListCount - 1
If .Selected(J) Then
xSheet.Range("A1").Offset(K, KK).Value = "True"
Else
xSheet.Range("A1").Offset(K, KK).Value = "False"
End If
K = K + 1
Next
End With
K = 0
KK = KK + 1
End If
Next
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Private Sub Workbook_Open()
Dim I As Long
Dim J As Long
Dim KK As Long
Dim xRg As Range
Dim xCell As Range
Dim xListBox As Object
Application.DisplayAlerts = False
Application.ScreenUpdating = False
KK = 0
For I = 1 To Sheets.Count - 1
For Each xListBox In Sheets(I).OLEObjects
If xListBox.Name Like "ListBox*" Then
With xListBox.Object
Set xRg = Intersect(Sheets("ListBox Data").Range("A1").Offset(0, KK).EntireColumn, Sheets("ListBox Data").UsedRange)
For J = 1 To .ListCount
Set xCell = xRg(J)
If xCell.Value = "True" Then
.Selected(J - 1) = True
End If
Next
KK = KK + 1
End With
End If
Next
Next
Sheets("ListBox Data").Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
3。 按 其他 + Q 关闭键 Microsoft Visual Basic应用程序 窗口。
4.现在,您需要将工作簿另存为启用了Excel Macro的工作簿。 请点击 文件 > 另存为 > 浏览.
5.在 另存为 对话框中,选择一个文件夹来保存工作簿,根据需要将其重命名,然后选择 Excel启用宏的工作簿 ,在 保存类型 下拉列表,最后单击 保存 按钮。 看截图:
每次更新列表框时,请保存工作簿。 重新打开工作簿后,所有以前的选择都将保留在列表框中。
备注:保存工作簿时,名为“列表框数据”将在工作簿所有工作表的末尾自动创建,请忽略此工作表,因为它在工作簿关闭时会自动消失。
最佳办公生产力工具
热门特色: 查找、突出显示或识别重复项
| 删除空白行
| 合并列或单元格而不丢失数据
| 不使用公式进行四舍五入 ...
超级查询: 多条件VLookup
| 多值VLookup
| 跨多个工作表的 VLookup
| 模糊查询 ....
高级下拉列表: 快速创建下拉列表
| 依赖下拉列表
| 多选下拉列表 ....
列管理器: 添加特定数量的列
| 移动列
| 切换隐藏列的可见性状态
| 比较范围和列 ...
特色功能: 网格焦点
| 设计图
| 大方程式酒吧
| 工作簿和工作表管理器
|资源库 (自动文本)
| 日期选择器
| 合并工作表
| 加密/解密单元格
| 按列表发送电子邮件
| 超级筛选
| 特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集:
12 文本 工具 (添加文本, 删除字符,...)
| 50+ 图表 类型 (甘特图,...)
| 40+ 实用 公式 (根据生日计算年龄,...)
| 19 插入 工具 (插入二维码, 从路径插入图片,...)
| 12 转化 工具 (小写金额转大写, 货币兑换,...)
| 7 合并与拆分 工具 (高级组合行, 分裂细胞,...)
| ... 和更多
使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松
在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
每天将您的工作效率提高50%,并减少数百次鼠标单击!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。