顧客先へ成果物としてエクセルを提出する際、
セルA1を選択状態で納品するのは気配りのきいたものだと考えます。
下記の記事では、全てのシートのセルA1を選択するマクロです。
ウインドウ枠を固定していると、セルA1は選択状態ですが、
画面表示はセルA1ではなく、マクロ実行した画面位置を指したままです。
ウインドウ枠固定してもセルA1を表示させる
Public Sub sample_vba_cell_a1_select()
'■スクロール列を一番左にする
ActiveWindow.ScrollColumn = 1
'■スクロール行の一番上にする
ActiveWindow.ScrollRow = 1
'■セルA1選択状態にする
ActiveSheet.Cells(1, 1).Select
End Sub
ScrollColumn、ScrollRow をそれぞれ1に設定する事で、
アクティブウィンドウのスクロールポイントを(左上のシート上の位置=A1セル)を指定します。
ActiveブックのすべてのシートのセルをA1選択状態の改良
ウインドウ枠の固定を加味した全てのシートのA1を選択(Select)状態、表示倍率を100%にする処理をパーツ化する【エクセルマクロ】の記事を改良したコードは以下です。
'■ActiveブックのすべてのシートのセルをA1選択状態にする。倍率を100%にする。
Public Sub Call_SelectA1_Zoom100()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Visible = True Then
ws.Activate
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollRow = 1
ws.Cells(1, 1).Select
ActiveWindow.Zoom = 100
End If
Next ws
If Worksheets(1).Visible = True Then Worksheets(1).Activate
End Sub
ワークシートが非表示の場合は、エラーが起きるため、ワークシートが表示されている(Visible=True)シートのみ処理を走らせています。
使い方
上記をお好きなモジュール内にコピペしてください。
実際に使用する時は以下のような形で使用してください。
Sub test() ’■提出前にこのコードを実行して体裁を整える Call_SelectA1_Zoom100 End Sub



コメント
[…] 参考ExcelVBA「ウインドウ枠の固定状態でも、セルA1を表示させる」VBA Create […]