[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じフォルダ内のBOOKにあるシートをすべて表示』(かかお)
初めまして、
マクロの勉強を始めたばかりの初心者です。
よろしくお願いいたします。
ブックが100個くらい入ったフォルダが複数あります。
その中の各ブックにランダムで非表示になっているシートがあり、
それをすべて表示にしたいです。
その際、マクロを別エクセルブックで用意し
各フォルダにマクロブックを移動をしてを実行すると同フォルダ内の全てに適用
上記のようなマクロは可能でしょうか?
< 使用 Excel:Excel2010、使用 OS:Windows10 >
Sub ASS() Application.ScreenUpdating = False Set mb = ThisWorkbook myfdr = ThisWorkbook.Path fname = Dir(myfdr & "\*.xlsx") Do Until fname = Empty If fname <> mb.Name Then
Set wb = Workbooks.Open(myfdr & "\" & fname)
For Each S In Sheets: S.Visible = True: Next End If fname = Dir Loop Application.ScreenUpdating = True
End Sub (++) 2017/09/14(木) 15:18
ありがとうございます!
さっそく試したのですが、シートがすべて非表示になりましたが
同じフォルダ内の全てのブックが空いた状態になってしまいました。
シートを表示にした後、保存をしブックを閉じるところまでできますでしょうか?
(かかお) 2017/09/14(木) 15:58
こんな感じで
Sub test() Dim myDir As String, fn As String, ws As Worksheet myDir = ThisWorkbook.Path & "\" fn = Dir(myDir & "*.xls") Do While fn <> "" If fn <> ThisWorkbook.Name Then With Workbooks.Open(myDir & fn) For Each ws In .Sheets ws.Visible = -1 Next .Close True End With End If fn = Dir Loop End Sub (seiya) 2017/09/14(木) 16:09
ありがとうございます。
申し訳ありませんなぜかエラーになってしまいまして。
(かかお) 2017/09/14(木) 16:20
wb.SAVE wb.Close
Sub ASS() Application.ScreenUpdating = False Set mb = ThisWorkbook myfdr = ThisWorkbook.Path fname = Dir(myfdr & "\*.xlsx") Do Until fname = Empty If fname <> mb.Name Then Set wb = Workbooks.Open(myfdr & "\" & fname) For Each S In Sheets: S.Visible = True: Next wb.SAVE wb.Close
End If fname = Dir Loop Application.ScreenUpdating = True End Sub (++) 2017/09/14(木) 16:25
拡張子選択くらいかな
(++) 2017/09/14(木) 16:29
どの行で、どんなエラーですか? 此方では問題なく動きますが?
>拡張子選択くらいかな 2007以降では *.xls のみで OK (seiya) 2017/09/14(木) 16:30
>>拡張子選択くらいかな >2007以降では *.xls のみで OK
有難う御座います
エラーは気になります
私も
(++) 2017/09/14(木) 16:35
マクロが有効になっていないか〜…というメッセージでした
一応マクロブックで保存し、有効ボタンも押していたので原因がわからず…
ご心配おかけしました。
本当にありがとうございます!!!
(かかお) 2017/09/14(木) 16:44
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.