人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelの簡単なVBAなんですが、以下のことができるように
簡単に記述をお願いできないでしょうか。
※時間をかければ自分でもできそうなのですが…

■条件
・ファイル数、ファイル名は任意
※10ファイル程度とそれほど多くないです。
・各ファイルのシート枚数、シート名も任意
※3?30シート程度のことが多いです。

■各ファイル、各シートに対し以下を全て実施
・非表示になっているシートがある場合は全て表示させる
・非表示になっている行、列がある場合は全て表示させる
・ウィンドウ枠が分割されている場合は解除
・オートフィルターがついている場合ははずす
・画面表示の倍率を75%に設定
・アクティブセルをA1にする

どうぞよろしくお願い致します。

●質問者: yoshifuku
●カテゴリ:コンピュータ
✍キーワード:A1 Excel VBA アクティブ ウィンドウ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD
●200ポイント ベストアンサー
Sub SettingAll()
  ' マクロを張り付ける先は新規のブックでもどこでも良いです。
  ' ファイルの指定方法が無かったので指定したフォルダの1種類のファイルすべてとしました。
  ' フォルダの指定は"D:\example"を書き換えて行ってください。
  ' 拡張子を見て処理するしないを決めています。マクロ有効ブックや2003形式などは".xlsx"を".xlsm"や".xls"に書き換えてください。
 Const path = "D:\example"
 Const fileExp = ".xlsx"
 Dim f, w
 For Each f In CreateObject("Scripting.FileSystemObject").GetFolder(path).Files
 If (Right(f.Name, Len(fileExp)) = fileExp) Then
 With Workbooks.Open(f.path)
 .Activate
 For Each w In Worksheets
 w.Activate
 ActiveSheet.Visible = True
 With ActiveWindow
 .SplitColumn = 0
 .SplitRow = 0
 .Zoom = 75
 End With
 w.Cells.EntireColumn.Hidden = False
 w.Cells.EntireRow.Hidden = False
 If w.AutoFilterMode Then
 w.AutoFilter.Range.AutoFilter
 End If
 w.Range("A1").Select
 Next w
 .Close SaveChanges:=True
 End With
 End If
 Next f
End Sub
◎質問者からの返答

す、すごいです。

完璧でした。

とても自分では書けないような記述でしたので、質問させていただいてよかったです!

本当にありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ