カテゴリー: Excel

  • 【Excel】マクロで提出前の作業を自動化

    【Excel】マクロで提出前の作業を自動化

    カーソルをA1セル、拡大率100%にしたい

    業務中で提出前に「エクセルファイルのカーソルをA1セル、拡大率100%にする作業がめんどくさい」と感じたことはないでしょうか?私は何度もあります。ただ、今までその作業を自動化しようと考えたことは一度もありませんでした。

    今回は、そのめんどくさい作業をマクロによって自動化することができたので共有したいと思います。

    作成にあたり、Copilotに質問しながら作成しました。作成に少し時間はかかりましたが、内容を理解しながらマクロを組むことができました。

    マクロの実装

    マクロを実装する為にまず以下の操作を行います。

    1. 開発タブ>マクロを選択
    2. 関数名を入力して編集画面に遷移

    これでマクロを作成できる状態になりました!それでは早速実装していきましょう!

    ソースコードの入力

    今回作成したソースコードはコピペで実装できます。

    Sub A1_100()
        Dim Column As Integer
        Dim Sheet As Worksheet
        Dim FilePath As String
        Dim FileName As String
        Dim wb As Workbook
        Dim ws As Object
    
        Column = 4
        Set Sheet = ThisWorkbook.Sheets("Sheet1")
    
        ' ファイルパスを指定
        FilePath = Sheet.Range("A2").Value
    
        ' ファイル名を取得
        FileName = Dir(FilePath & "\" & "*.xlsx")
        Do While FileName <> ""
    
            ' ワークブックを開く
            Set wb = Workbooks.Open(FilePath & "\" & FileName)
    
            For Each ws In ActiveWorkbook.Sheets
                ' ここに処理を記述...
                ' 例:A1セルを選択し、拡大率を100%に設定
                ws.Activate
                ActiveSheet.Range("A1").Select
                ActiveWindow.Zoom = 100
            Next ws
            Sheets(1).Select
    
            ' ワークブックを保存して閉じる
            wb.Save
            wb.Close
    
            '対象のファイル名を貼りつけ
            'Sheet.Range("A" & Column).Value = FileName
    
            ' 次のファイル名を取得
            FileName = Dir
            Column = Column + 1
        Loop
    End Sub

    実行手順

    1. フォルダを作成し、対象のエクセルブックを移動させる
    2. 作成したフォルダのパスをA2セルに入力
    3. マクロの実行

    手順としては上記の通りで、かなりシンプルに実施できると思います。

    実行結果

    今回作成したマクロは、作成したフォルダ内のエクセルブックを下から実施する仕様となっています。フォルダの順番通り上から実施したい場合は、エクセルのブック名を配列に格納して下から実施する必要があります。

    こちらのマクロの改良については今後挑戦しようと思います。

    もし、A1 拡大率100%の処理を実施したい方はこのマクロを使ってみて下さい!