【发布时间】:2017-03-10 23:25:08
【问题描述】:
所以我的主要目标是将工作表(取决于它们是否被首页上的复选框选中)保存到新工作簿。
我有 6 张工作表,所以我的首页/工作表上有 6 个不同的复选框。
这是我尝试过的示例代码(注意:这仅显示检查 1 个复选框,但我需要 6 个复选框):
Sub saveSheetWorkbook()
Dim exampleName As Variant
Dim exampleSavePath As String
Dim exampleSheet As Variant
exampleName = InputBox("Who will this be sent to?")
exampleSavePath = ActiveWorkbook.Path & "\" & exampleName
If Worksheets("Example Worksheet 1").Range("E29") = True Then
exampleSheet = "Example Worksheet 2"
End If
Sheets(Array("Example Worksheet 1"), exampleSheet).Copy
ActiveWorkbook.SaveAs Filename:=exampleSavePath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
例如,我想始终保存示例工作表 1,但仅在选中复选框时才保存示例工作表 2(和 3、4、5、6)。示例工作表 1 中的单元格 E29 是复选框的链接单元格。
所以这个宏在勾选复选框时有效,但是当取消勾选复选框时,我得到一个错误。
我已对其进行设置,以便工作表数组包含名称或不包含任何内容。但是当不包含任何内容时,这会给我带来错误。
任何帮助都会很棒。
【问题讨论】: