0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

全てのブック、ファイルで開いたときに各シートのA1セルを選択し、画面を合わせるコード

Last updated at Posted at 2025-04-09

恐らくこのコードで問題はないと思われますが、もし万が一動作が遅くなるなどありましたら使用を中止してください
このコードを記述したブックをアドオン形式のファイルとして保存してください
開発タブ→Excelアドインから保存したファイルを選択してください

このコードをTisworkbookモジュールに記述します

'変数の宣言を強制
Option Explicit
'アプリケーションイベントを宣言
Private WithEvents Excelapp As Application
'アドオン用のオープンイベント(つまりどのブックを開いても「Excelの起動時に」マクロを実行)
Private Sub Workbook_Open()

'アプリケーションオブジェクトをPrivate変数に代入
Set Excelapp = Application

End Sub

'(本題)どのブックでも開いたときにWorkbookOpenイベントを実行
'開いたブック(ファイル)は引数としてWB変数に代入される
Private Sub Excelapp_WorkbookOpen(ByVal WB As Workbook)

'ワークシートの変数
Dim ws As Worksheet

'開いたブック(WB変数)の全てのシート(コレクション)をループする
'For Each In WB.Worksheetsで取り出されたワークシートはws変数に代入される
For Each ws In WB.Worksheets

'まずシートをアクティブにしないとA1セルをセレクトした時にエラーが発生する
ws.Activate
ws.Range("A1").Select

    'Withでアクティブを省略
  With ActiveWindow
  
        'A1セルの行にスクロール
      .ScrollRow = ActiveCell.Row
        'A1セルの列にスクロール
      .ScrollColumn = ActiveCell.Column
  
    End With

'次のワークシートへ
Next ws

'最後に一番左のワークシートをアクティブにする
WB.Sheets(1).Activate

End Sub
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?