我正在寻找一份每月运行报告的帮助。我正在尝试使报告自动化以减少一些人工时间!目前,我运行着一个庞大的月度报告,可能令人生畏。我正在努力解决的一个问题是,当我尝试每月拉不同的月份时,会自动在工作簿中隐藏/取消隐藏工作表。我已经预先填充了1月-12月18日的工作表,并且正在寻找一种无需手动隐藏/取消隐藏工作表的方法。
我目前已经创建了一个用户窗体,其中通过组合框(FormMonth)选择了月份。用户可以选择JAN-DEC。我还创建了一个单独的文本框,用户可以在其中输入他们要搜索的年份。
EX:尝试取消隐藏工作表。我目前正在尝试取消隐藏标签为JUL18的工作表。我尝试了以下代码:
worksheets(" " & FormMonth & "18").visible = true
我也尝试过
worksheets(" " & FormMonth & "18").visible = xlvisible
我没有运气,希望有人愿意伸出援手。对于奖金,关于如何自动编码以隐藏前几个月工作表的任何帮助也会很棒!例如,如果我要取消隐藏JUL18工作表,我将如何编码以隐藏JUN18工作表。
谢谢
德里克
答案 0 :(得分:1)
以下子项显示所选月份的工作表,并隐藏所有其他工作表。 请注意,它首先将工作表设置为可见,然后才隐藏其余工作表-否则您可能会尝试隐藏所有工作表,否则将失败。
Sub showMonthSheet(mon As String)
Const year = "18"
Dim sheetname As String
sheetname = mon & " " & year
ThisWorkbook.Worksheets(sheetname).Visible = True
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> sheetname Then
ws.Visible = False
End If
Next ws
End Sub
(我假设您的工作表名称类似于 1月18日,前导或尾随空格,但月份名称和年份之间留有空格)