全てのシートのカーソル位置をA1に移動し、拡大率100%にするVBAサンプルコード

記事内に広告が含まれています。

Excelファイル内のすべてのシートのカーソル位置をA1に移動し、拡大率100%にするVBAサンプルを紹介します。

仕様

「ボタン」を押すと「読み込みExcelファイル」のパスからExcelを開き、各シートの選択セルをA1セルにし、拡大率を100%にします。

画面仕様

ソースコード

Sub ボタン1_Click()

    'このブックを取得
    Set myWorkBook = ThisWorkbook
    
    'A1に固定するExcelのパスを取得
    Dim filePath As String
    filePath = myWorkBook.Worksheets("Sheet1").Cells(2, 2).Value
    
    'ターゲットのブックを開く
    Workbooks.Open Filename:=filePath
    Set targetWorkBook = Workbooks(Dir(filePath))
    
    '全シートループ
    For Each targetSheet In targetWorkBook.Worksheets
        
        targetSheet.Activate
        'A1セルを選択
        Application.Goto Reference:=targetSheet.Range("A1"), Scroll:=True
        
        '拡大率100%
        ActiveWindow.Zoom = 100
        
    Next
    
    '一番左のシートに選択を戻す
    targetWorkBook.Sheets(1).Activate
    
    '保存する
    targetWorkBook.Save
    
    '別ブックを閉じる
    targetWorkBook.Close savechanges:=True
    
End Sub

マクロの実行

テストフォルダ構成

下記のファイル構成でテストしてみます。

ファイル名用途
Test.xlsxセル移動、拡大率100%にさせる対象のExcelファイル
別ブックA1設定.xlsmマクロを実行するExcelファイル。
この中でTest.xlsxを指定しています。
フォルダ構成

設定(別ブックA1設定.xlsm)

下記の通り、カーソルをA1に移動させたい対象ExcelをB2セルに指定します。

実行前(Test.xlsx)

「C:\temp\test\」にテストファイル「Test.xlsx」を用意し、下記のようにカーソル位置も拡大率もバラバラなシートを適当に用意します。(今回は例として3シート用意しています)

Sheet1

Sheet2

Sheet3

実行後(Test.xlsx)

下記の通り、Test.xlsxのシートのA1セルにカーソル移動していることが確認されました。

Sheet1

Sheet2

Sheet3

参考情報

マクロのあるExcelと編集対象Excelは別

A1セル移動する対象ファイルは仕様書、設計書、お客様向け資料だったりする大事な資料であるケースが多々あります。

なので対象ファイルにはマクロを保存せず、別Excelのマクロから対象ファイルを操作します。

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows10
2ExcelExcel2016
環境一覧

以上です。

コメント

タイトルとURLをコピーしました