gpt4 book ai didi

vba - 如何在隐藏工作表上使用 VBA 宏。并将它们藏回去

转载 作者:行者123 更新时间:2023-12-02 21:30:49 24 4
gpt4 key购买 nike

我是 VBA Excel 宏的初学者。通过使用这个论坛,我可以编写代码,但我被困在一个地方。

我的工作簿中有 10 张工作表。第一张表是我的输入工作表,负责所有计算。这些计算被拉到后面的 9 张纸中。这 9 张表格生成我的报告。在计算文件中,我想隐藏所有接下来的 9 个文件并运行宏。一旦计算没问题。我单击“生成报告”按钮,将创建新文件并在桌面上打开并保存在我的文档中。

问题 - 不知何故,通过这个论坛,我能够生成一个可以执行所有操作的代码,但我无法隐藏和取消隐藏部分。我编写的代码取消隐藏计算文件中的所有文件。(使它们保持取消隐藏)并隐藏新生成的报告中的文件。(因为所有文件不能隐藏在任何新的 Excel 中,所以我收到运行时错误“1004”无法设置工作表类的可见属性)。

这是我的代码,请帮我解决它 - 所以我在计算文件中只能有一张表,而宏工作时其余部分保持隐藏。新生成的文件将包含所有 9 个选项卡。

Sub SaveMain()

Application.EnableEvents = False
Sheets("Cover").Visible = True
Sheets("2").Visible = True
Sheets("3").Visible = True
Sheets("4").Visible = True
Sheets("5").Visible = True
Sheets("6").Visible = True
Sheets("7").Visible = True
Sheets("8").Visible = True
Sheets("9").Visible = True

Dim Flname As String


Flname = "Pump Datasheet" & InputBox("Enter Pump tag No P-XXXX:") & ".xls"

Sheets(Array("Cover", "2", "3", "4", "5", "6", "7", "8", "9")).Copy

Sheets("Cover").Visible = False
Sheets("2").Visible = False
Sheets("3").Visible = False
Sheets("4").Visible = False
Sheets("5").Visible = False
Sheets("6").Visible = False
Sheets("7").Visible = False
Sheets("8").Visible = False
Sheets("9").Visible = False

newfilename = Flname

With ActiveWorkbook
.SaveAs newfilename, FileFormat:=50

End With

Application.EnableEvents = True

End Sub

最佳答案

建议您对此进行调整,以确保首先存在Cover

如果是这样,可以更直接地设置隐藏工作表的循环 - 实际上不需要 Then 测试。

Sub Sheeted()
Dim ws As Worksheet

On Error Resume Next
Set ws = Sheets("Cover")
On Error GoTo 0

If ws Is Nothing Then Exit Sub

For Each ws In ActiveWorkbook.Sheets
ws.Visible = (ws.Name = "Cover")
Next
End Sub

关于vba - 如何在隐藏工作表上使用 VBA 宏。并将它们藏回去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37448241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com