【发布时间】:2020-04-16 21:17:55
【问题描述】:
我希望在多个工作簿中取消隐藏完全相同的命名工作表。该工作表称为 ADMIN_Export。所有工作簿都在同一个目录中。
我环顾四周,找不到完全适合这个的东西,一直在尝试用有限的编码背景来解决它,并且已经接近了。这很接近:How can I run one VBA macro on all the (closed) Excel files in a folder?
所以我正在使用这个,但需要实际的
Sub unhide()
Dim myfiles, wb As Workbook, ws As Worksheet
myfiles = Dir(Thisworkbook.Path & "\*.xlsx")
Do While Len(myfiles) <> 0
Debug.Print myfiles
'~~> Should this be read-only? Or just regular open?
Set wb = Workbooks.Open(Thisworkbook.Path & "\" & myfiles, , True)
'~~> This is where I need help with unhiding
wb.Close False
Set wb = Nothing '~~> clean up
myfiles = Dir
Loop
End Sub
提前感谢您的帮助。
【问题讨论】:
-
您需要打开文件才能执行此操作。这可以在后台在 VBA 中完成,因此用户不会看到很多文件被打开,但您必须打开它们。然后请edit您的问题并显示您尝试过的确切代码以及您在代码中卡住或错误的确切位置。只有当我们看到 您的 代码时,我们才能提供帮助,任何指向类似代码的链接都无法帮助您。另见How to Ask 和minimal reproducible example。
-
谢谢,这就是我想要的。刚刚更新了问题。
-
您是否研究过如何取消隐藏工作表?应该有数百个例子。然后,您只需在打开工作簿后填写即可。当然,您需要定期打开工作簿(非只读),否则您无法保存更改。此外,在关闭它之前,您应该保存工作簿,否则更改会丢失。你真的应该试一试,这对初学者来说是一件容易的事。如果您有具体问题,请随时提出。
-
研究提示:Unhide worksheet 您只需将其与问题中的代码结合起来即可。
-
谢谢,我可以半手动完成,因为无法保存。暂时的。非常感谢。