顧客先へ成果物としてエクセルを提出する際、
セル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 […]