【发布时间】:2017-11-09 04:01:27
【问题描述】:
在使用 Listbox1 的用户表单中,我想列出已打开的工作簿,并在 Listbox2 中以相同的形式列出 listbox1 中所选工作簿的工作表,但也在 lisbox2 中,我想创建每个工作表命名一个带有五个命令按钮的复选框,用于导入、导出、擦除、隐藏或取消隐藏从 Wb1 到 Wb2 的选定工作表,反之亦然。 到目前为止,我得到了你们的帮助,制作了一个包含已打开工作簿列表和相应工作表列表的表格here 我也在尝试编写代码以将工作表从一个工作簿导入另一个工作簿here,.你知道实现这一点的方法吗? 谢谢你
顺便说一句,这是从工作表中用于擦除可能放入列表中的工作表的代码
Sub DeleteSheets()
Dim wks As Worksheet
Dim MyRange As Range
Dim cell As Range
Set wks = Worksheets("Controls")
With wks
Set MyRange = Range("D5:D34", .Cells(.Rows.Count, "H").End(xlUp))
End With
On Error Resume Next
Application.DisplayAlerts = False
For Each cell In MyRange
Sheets(cell.Value).Delete
Next cell
Application.DisplayAlerts = True
On Error GoTo 0
Sheets("Controls").Range("D5:D34").ClearContents
End Sub
还有这个用于隐藏和取消隐藏工作表:
Sub Hide_Sheets()
'In use
'Hide the sheets in Controls Sheet
Dim cell As Range
On Error Resume Next
For Each cell In Sheets("Controls").Range("E5:E34")
' Hide sheets
Sheets(cell.Value).Visible = False
Next cell
End Sub
Sub Unhide_Sheets()
'In use
'Unhide the sheets in Controls Sheet
Dim cell As Range
On Error Resume Next
For Each cell In Sheets("Controls").Range("G5:G34")
' Hide sheets
Sheets(cell.Value).Visible = True
Next cell
End Sub
【问题讨论】: