如何在Excel中保存或保留对ActiveX列表框的选择?

网友投稿 189 2024-02-16

如何在Excel中保存或保留对ActiveX列表框的选择?

假设您已经创建了一些列表框并在列表框中进行了选择,但是,当关闭并重​​新打开工作簿时,这些列表框的所有选择都消失了。 您是否要在关闭并重新打开工作簿时保留在列表框中所做的选择? 本文中的方法可以为您提供帮助。

使用Excel中的VBA代码保存或保留ActiveX列表框的选择

轻松在Excel中批量插入或删除多个复选框:

如何在Excel中保存或保留对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
Copy

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小时内删除侵权内容。

上一篇:如何在Excel图表中更改X轴?
下一篇:如何在Excel中将一系列单元格作为图像粘贴到邮件正文中?
相关文章