pgbigorokuのブログ

プログラムの再利用できそうなコードをアップ

EXCEL VBA 指定ブックについて全シートのウィンドウを表示するビューを指定します。(標準、改ページ プレビュー、ページ レイアウト ビュー) '

サンプル【全シートを改ページプレビューにする。】

Sub Macro1()
    '全シートを改ページプレビューにする。
    Call msub全シートのアクティブセルを一番上に(ActiveWorkbook, xlPageBreakPreview)
End Sub

サンプル【全シートを改ページプレビューにする。】

Sub Macro1()
    '全シートを標準ビューにする。
    Call msub全シートのアクティブセルを一番上に(ActiveWorkbook, xlNormalView)
End Sub


ソースコード

'   指定ブックについて全シートのウィンドウを表示するビューを指定します。(標準、改ページ プレビュー、ページ レイアウト ビュー)
'
'引数   ByVal wkbTarget As Workbook 対象ブック
'            Optional ByVal penmView As XlWindowView = xlNormalView ウィンドウを表示するビューを指定
'URL https://pgbigoroku.hatenablog.com/entry/2022/08/18/234841
'
'参考  XlWindowViewの定義 https://docs.microsoft.com/ja-jp/office/vba/api/excel.xlwindowview
'2022/8/18
Public Sub msub全シートのアクティブセルを一番上に(ByVal wkbTarget As Workbook, Optional ByVal penmView As XlWindowView = xlNormalView)
    Dim intFor As Integer
    With wkbTarget
        .Activate
        For intFor = .Worksheets.Count To 1 Step -1
            If .Worksheets(intFor).Visible = xlSheetVisible Then
                .Worksheets(intFor).Select
                ActiveWindow.View = penmView
            End If
        Next
    End With
End Sub