Excel VBA - 导出当前工作簿的副本

时间:2017-08-07 07:04:38

标签: excel vba excel-vba

任务

我正在从数据表中处理图表生成器。作为我的规范的一部分,我需要能够将此图表提取到其单独的工作簿中。

我的职能

这是我目前的功能:

Sub EWbtn()
'''Extract Worksheet Button Function

Dim OriginalWB As Workbook, NewCRCWB As Workbook

Set OriginalWB = ThisWorkbook
Set NewCRCWB = Workbooks.Add

OriginalWB.Sheets("Generator").Copy Before:=NewCRCWB.Sheets("Sheet1")
OriginalWB.Sheets("Module Part Number Tracker").Copy Before:=NewCRCWB.Sheets("Generator")
OriginalWB.Sheets("CRC").Copy Before:=NewCRCWB.Sheets("Module Part Number Tracker")

Application.DisplayAlerts = False
NewCRCWB.Worksheets("Generator").Visible = False
NewCRCWB.Worksheets("Module Part Number Tracker").Visible = False
NewCRCWB.Worksheets("Sheet1").Delete
Application.DisplayAlerts = True

End Sub

我复制了使用图表数据的2张纸,并将它们隐藏在新工作簿中。 CRC表有很多在图表上运行的宏,也可以通过图表上的按钮调用。例如,此功能用于在图表上隐藏5列数据的按钮:

Public Function SHGSbtn()
'''Show Hides Gateway Stages Function

Dim wsCRC As Worksheet
Set wsCRC = Worksheets("CRC")

If wsCRC.Buttons("SHGateway").Caption = "Hide Gateway Stages" Then

    Range(Cells(9, 9), Cells(9, 13)).EntireColumn.Hidden = True
    wsCRC.Buttons("SHGateway").Caption = "Show Gateway Stages"

ElseIf wsCRC.Buttons("SHGateway").Caption = "Show Gateway Stages" Then

    Range(Cells(9, 9), Cells(9, 13)).EntireColumn.Hidden = False
wsCRC.Buttons("SHGateway").Caption = "Hide Gateway Stages"

End If

End Function

我的问题

工作簿复制没有错误,但是当我尝试使用其中一个按钮时,它使用原始工作簿中的代码,即使它关闭它也会打开原始工作簿。任何人都知道为什么会这样,我该如何解决它?

0 个答案:

没有答案