EXCEL

【VBA】全てのシートの表示位置と表示倍率を統一する方法

本記事では、EXCELのVBAプログラムを使って、全てのシートの表示位置と表示倍率を統一する方法をご紹介致します。

VBAプログラム

全てのシートの表示位置と表示倍率を統一する

Sub 全てのシートの表示位置と表示倍率を統一する()

'<< 全てのシートの表示位置と表示倍率を統一する >>
For Each s In Sheets
 s.Activate
 Application.Goto Reference:=ActiveSheet.Range("a1"), Scroll:=True '表示位置をA1セルに指定
 ActiveWindow.Zoom = 100 '表示倍率を100%に指定
Next s

End Sub

上記のプログラムで全てのシートの表示位置と表示倍率を統一できます。表示位置を変更したい場合には、ActiveSheet.Range("a1")の「a1」の部分を書き換えてもらえればOKです。表示倍率を変更する場合には、ActiveWindow.Zoom = 100 の「100」の部分を書き換えて下さい

キーワードに合致するシートに対して表示位置と表示倍率を統一

全てのシートに対する処理だけではなく、特定のシートに対して実行したい場合もありそうです。その場合には以下のプログラムを実行してみて下さい。

Sub キーワードに合致するシートの表示位置と表示倍率を統一()

Dim TargetName As String
 
'<< キーワードを取得する >>
TargetName = Application.InputBox("シート名に含まれる文字を入力して下さい" & vbCr & "  ※未入力で全て統一")

'<< キーワードに合致するシートの表示位置と表示倍率を統一 >>
For Each s In Sheets
 If s.Name Like "*" & TargetName & "*" Then
  s.Activate
  Application.Goto Reference:=ActiveSheet.Range("a1"), Scroll:=True '表示位置をA1セルに指定
  ActiveWindow.Zoom = 100 '表示倍率を100%に指定
  End If
Next s

End Sub

このプログラムでは、インプットボックスが表示されて、そこに入力した文字をシート名に含むシートに対して、表示位置と表示倍率の統一を実行します。以下の記事も参考にしてみてください。


【VBA】キーワードに合致するシートだけを表示させる方法EXCELを使っていて、沢山のシートタブの中からキーワードに合致するものだけをピックアップして表示したいと思ったことはありませんか? ...

キーワードに合致するシートのみ表示位置と表示倍率を統一して表示

キーワードに合致するシートのみ表示位置と表示倍率を統一した上で表示させ、キーワードに合致しないシートを非表示化するという使い方も想定されます。その場合には以下のプログラムを実行してみて下さい。

Sub キーワードに合致するシートのみ表示位置と表示倍率を統一した上で表示()

Dim TargetName As String
 
'<< キーワードを取得する >>
TargetName = Application.InputBox("シート名に含まれる文字を入力して下さい" & vbCr & "  ※未入力で全て統一")

'<< 全てのシートを再表示する >>
For Each s In Sheets
 s.Visible = True
Next s

'<< キーワードに合致するシートのみ表示位置と表示倍率を統一した上で表示 >>
For Each s In Sheets
 If s.Name Like "*" & TargetName & "*" Then
  s.Activate
  Application.Goto Reference:=ActiveSheet.Range("a1"), Scroll:=True '表示位置をA1セルに指定
  ActiveWindow.Zoom = 100 '表示倍率を100%に指定
 Else: s.Visible = False
 End If
Next s

End Sub

最後に

コピペして利用される際には、適宜修正してお使いください。動作確認環境は、EXCEL2016となります。