【初心者向け】Excelマクロの始め方|総務実務で使える基礎から解説

メソル

この記事はこんな方におすすめです。

  • Excelの繰り返し作業に時間を取られている
  • マクロに興味はあるが、難しそうで手を出せない
  • プログラミング経験ゼロだが、業務を自動化したい
  • VBAって何?という状態から始めたい
🦊
Excelマクロって聞いたことあるけど、プログラミングでしょ?絶対無理💦
🦉
そう思っている人は多いですが、マクロの基本は意外と簡単です。プログラミング経験ゼロでも、今日この記事を読めば最初のマクロを動かせるようになりますよ。

この記事を読めば、マクロの基礎を理解し、最初の自動化を実現できます。

私は総務・情報システム・人事を15年担当してきた中で、マクロで月10時間以上の業務削減を実現しました。最初は私も、プログラミングなんて全く分かりませんでした。

マクロとは?【超基礎】

🦊
そもそもマクロって何?
🦉
簡単に言うと、Excelの操作を自動で実行してくれる機能です。

マクロでできること

手作業 マクロで自動化
毎月同じ形式でデータを整形ボタン1つで自動整形
複数シートのデータをコピペ自動で集約
不要な行を1つずつ削除一括削除
同じ計算を何度も実行自動計算
レポートを毎回同じ形式で作成自動生成
🦊
毎回同じ作業を繰り返さなくていいってこと?
🦉
その通りです。人間がやっていた繰り返し作業を、Excelが代わりにやってくれます。

マクロとVBAの違い

用語 説明
マクロExcelの操作を自動化する機能の総称
VBAマクロを作るためのプログラミング言語

🦉 オウル先生「マクロを作る方法は2つあります」

方法 難易度 内容
マクロの記録★☆☆☆☆操作を録画して自動化(コード不要)
VBAを書く★★★☆☆コードを直接書いて自動化
🦊
「マクロの記録」ならコードを書かなくていいの?
🦉
はい。まずは「マクロの記録」から始めるのがおすすめです。今日はこれを中心に解説しますね。

【準備】マクロを使うための設定

開発タブを表示する

  1. Excelを開く
  2. ファイル → オプション をクリック
  3. リボンのユーザー設定 を選択
  4. 右側の「メインタブ」で「開発」にチェックを入れる
  5. OK をクリック

これで、リボンに「開発」タブが表示されます。

🦊
開発タブが出てきた!

マクロのセキュリティ設定

  1. 開発タブ → マクロのセキュリティ をクリック
  2. 「警告を表示してすべてのマクロを無効にする」を選択
  3. OK をクリック

初心者向けの補足

  • この設定では、自作の .xlsm ファイルを開いたときも警告が出ます
  • 信頼できる自作ファイルなら「コンテンツを有効にする」をクリックすればOKです
  • 毎回警告が出るのは異常ではなく、安全のための仕様です
🦉
この一文を知っているだけで、かなり安心して進められますよ。準備ができたら、さっそく作ってみましょう。

【実践①】マクロの記録で自動化する

最も簡単な方法、「マクロの記録」を使ってみましょう。

やりたいこと

A1セルに「完了」と入力し、赤色に塗りつぶす

STEP1:マクロの記録を開始

  • 開発タブ → マクロの記録 をクリック
  • 「マクロ名」に「完了マーク」と入力
  • OK をクリック
🦉
この瞬間から、あなたの操作が録画されます。

STEP2:操作を実行

  • A1セルをクリック
  • 「完了」と入力してEnter
  • A1セルを選択したまま、塗りつぶしの色 → 赤を選択

STEP3:マクロの記録を停止

  • 開発タブ → 記録終了 をクリック
🦊
これでマクロが作れたの?
🦉
はい。たったこれだけです。

作ったマクロを実行する

方法1:マクロダイアログから実行

  • 開発タブ → マクロ をクリック
  • 「完了マーク」を選択
  • 実行 をクリック
🦊
おお!A1セルに「完了」って入って、赤くなった!

方法2:ボタンを作成して実行

  • 開発タブ → 挿入 → ボタン(フォームコントロール) をクリック
  • シート上でドラッグしてボタンを配置
  • 「マクロの登録」画面で「完了マーク」を選択 → OK
  • ボタンの文字を「完了」に変更

これで、ボタンをクリックするだけでマクロが実行されます。

🦊
ボタン1つで自動化できるなんてすごい!

【実践②】実務で使えるマクロを作る

次は、もう少し実務的なマクロを作ってみましょう。

やりたいこと

  • A列からE列のデータを選択
  • フォントを「メイリオ」に統一
  • フォントサイズを「11」に統一
  • 列幅を自動調整

STEP1:マクロの記録を開始

  • 開発タブ → マクロの記録
  • マクロ名:「書式統一」
  • OK

STEP2:操作を実行

  • A列からE列を選択
  • ホームタブ → フォント → メイリオ
  • フォントサイズ → 11
  • ホームタブ → 書式 → 列の幅の自動調整

STEP3:マクロの記録を停止

  • 開発タブ → 記録終了

作成されたVBAコードを見てみる

  • 開発タブ → Visual Basic(または Alt + F11)
  • 左側の「Module1」をダブルクリック
Sub 書式統一()
'
' 書式統一 Macro
'
    Columns("A:E").Select
    With Selection.Font
        .Name = "メイリオ"
        .Size = 11
    End With
    Columns("A:E").EntireColumn.AutoFit
End Sub
🦊
なんか英語で書いてあるけど、意味は分かるかも…
🦉
そうなんです。VBAは英語っぽく見えますが、読めば意味が分かることが多いです。
コード 意味
Columns(“A:E”).SelectA列からE列を選択
.Name = “メイリオ”フォント名をメイリオに
.Size = 11フォントサイズを11に
.AutoFit列幅を自動調整

【実践③】コードを少し修正する

記録したマクロを少し修正してみましょう。

修正例:ヘッダー行を太字にする

現在のコード

Sub 書式統一()
    Columns("A:E").Select
    With Selection.Font
        .Name = "メイリオ"
        .Size = 11
    End With
    Columns("A:E").EntireColumn.AutoFit
End Sub

修正後のコード

Sub 書式統一()
    ' A列からE列のフォントを統一
    Columns("A:E").Select
    With Selection.Font
        .Name = "メイリオ"
        .Size = 11
    End With

    ' 列幅を自動調整
    Columns("A:E").EntireColumn.AutoFit

    ' 追加:1行目(ヘッダー)を太字にする
    Rows(1).Font.Bold = True
End Sub
🦊
Rows(1).Font.Bold = True を追加しただけ?
🦉
はい。1行追加するだけで機能が増やせます。マクロの記録で基本を作り、少しずつコードを追加していくのがおすすめです。

【保存】マクロ有効ブックとして保存する

  1. ファイル → 名前を付けて保存
  2. ファイルの種類で「Excelマクロ有効ブック(.xlsm)」を選択
  3. 保存
🦊
普通の .xlsx じゃダメなの?
🦉
.xlsx で保存すると、マクロが消えてしまいます。必ず .xlsm で保存してください。

総務で使えるマクロ例5選

① データ整形マクロ

用途:勤怠データや経費データの書式を統一

Sub データ整形()
    ' データ範囲を選択
    Range("A1").CurrentRegion.Select

    ' フォント統一
    With Selection.Font
        .Name = "メイリオ"
        .Size = 11
    End With

    ' 罫線を引く
    Selection.Borders.LineStyle = xlContinuous

    ' 列幅自動調整
    Cells.EntireColumn.AutoFit

    MsgBox "データ整形が完了しました!"
End Sub

② 空白行削除マクロ

用途:データの間にある空白行を一括削除

Sub 空白行削除()
    Dim i As Long
    Dim lastRow As Long

    ' 最終行を取得
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    ' 下から上に向かって空白行を削除
    For i = lastRow To 1 Step -1
        If Cells(i, 1).Value = "" Then
            Rows(i).Delete
        End If
    Next i

    MsgBox "空白行を削除しました!"
End Sub

③ シートコピーマクロ

用途:テンプレートシートをコピーして新しい月のシートを作成

Sub シートコピー()
    Dim 新シート名 As String

    ' 新しいシート名を入力
    新シート名 = InputBox("新しいシート名を入力してください", "シートコピー")

    If 新シート名 = "" Then Exit Sub

    ' テンプレートシートをコピー
    Sheets("テンプレート").Copy After:=Sheets(Sheets.Count)

    ' 名前を変更
    ActiveSheet.Name = 新シート名

    MsgBox 新シート名 & " シートを作成しました!"
End Sub

④ 印刷設定マクロ

用途:印刷設定を一括で適用

Sub 印刷設定()
    With ActiveSheet.PageSetup
        .Orientation = xlLandscape          ' 横向き
        .Zoom = False                       ' 倍率を自動調整
        .FitToPagesWide = 1                 ' 横1ページに収める
        .FitToPagesTall = False             ' 縦は自動
        .CenterHorizontally = True          ' 水平中央
        .LeftMargin = Application.CentimetersToPoints(1)
        .RightMargin = Application.CentimetersToPoints(1)
    End With

    MsgBox "印刷設定を適用しました!"
End Sub

⑤ バックアップマクロ

用途:ファイルを日付付きでバックアップ

Sub バックアップ保存()
    Dim 保存先 As String
    Dim ファイル名 As String

    ' 現在の日時を取得
    ファイル名 = "バックアップ_" & Format(Now, "yyyymmdd_hhmmss") & ".xlsm"

    ' 保存先(同じフォルダ)
    保存先 = ThisWorkbook.Path & "\" & ファイル名

    ' 保存
    ThisWorkbook.SaveCopyAs 保存先

    MsgBox "バックアップを保存しました!" & vbCrLf & 保存先
End Sub

補足

  • 上のコードは Windows を前提にしています
  • Mac の場合はパス区切りが異なることがあります
  • まずは Windows 環境で試すのが安心です
🦊
こんなに便利なマクロがあるんだ!
🦉
これらはコピペで使えます。ChatGPTに「○○するマクロを作って」とお願いすれば、カスタマイズもできますよ。

うまく動かないときは

🦊
もしエラーが出たら、そこで止まっちゃいそう…😢
🦉
大丈夫です。初心者がつまずきやすいポイントはだいたい決まっています。まずは次の3つを確認しましょう。

チェックポイント

  1. ファイルを .xlsm 形式で保存しているか
  2. 開いたときの警告で「コンテンツを有効にする」を押したか
  3. コードを標準モジュールに入れているか

よくある対処法

  • 動かないときは、一度マクロを削除して最初から記録し直す
  • シート名や列名がコードと合っているか確認する
  • エラー文が出たら、その文をそのままChatGPTに貼って相談する
🦉
初心者のうちは、1回で完璧に動かなくて普通です。エラーは失敗ではなく、修正ポイントが分かっただけですよ。

マクロを学ぶ次のステップ

ステップ1:マクロの記録を使い倒す

  • いろんな操作を記録してみる
  • 記録されたコードを読んでみる
  • 少しずつコードを修正してみる

ステップ2:ChatGPTでVBAを生成

  • やりたいことをChatGPTに伝える
  • 生成されたコードをコピペして実行
  • エラーが出たらChatGPTに聞く

ステップ3:VBAの基礎を学ぶ

  • 変数、条件分岐(If)、繰り返し(For)を理解する
  • 本やYouTubeで体系的に学習する
  • 実務で使いながら覚える
🦊
いきなり全部覚えなくていいんだね
🦉
その通りです。必要なときに必要なことを学ぶのが効率的です。まずは今日学んだ「マクロの記録」を使い倒してください。

まとめ:マクロは怖くない

🦊
マクロ、思ったより簡単だった!「マクロの記録」なら私でもできそう!
🦉
その通りです。では、今日の内容をまとめましょう。

この記事で学んだこと

  • マクロとは、Excelの操作を自動化する機能
  • 「マクロの記録」ならコードを書かずに自動化できる
  • 記録したマクロはボタンに登録できる
  • VBAコードは英語っぽいけれど、読めば意味が分かる
  • ChatGPTを使えば複雑なマクロも作れる

マクロ作成の3ステップ

ステップ 内容
STEP1マクロの記録を開始
STEP2自動化したい操作を実行
STEP3記録を停止 → 完成

今日から始めるアクション

アクション 所要時間
開発タブを表示する1分
簡単なマクロを記録してみる5分
ボタンを作成して実行3分
🦉
今日のうちに1つマクロを作ってみてください。実際に動かすと、楽しくなりますよ。
🦊
よし、まずはデータ整形マクロから作ってみる!✨

無料テンプレートプレゼント🎁

この記事を最後まで読んでくださった方に、「総務で使えるExcelマクロテンプレート5選」を無料プレゼントします。

  • コピペで使いやすい
  • 初心者向けに厳選
  • 総務実務で使いやすい5本を収録

まずは1本、試してみるところから始めましょう。

無料テンプレートを受け取る

関連記事

ABOUT ME
オウル先生&フォックン
オウル先生&フォックン
ブログライター
オウル先生 フォックンが運営する未経験からのプログラミング上達ガイド! プログラミング学習に興味があるけど、 「どのスクールを選べばいいか分からない…」 「自分に合った学習方法が知りたい…」 「本当にエンジニアになれるか不安…」 そんな悩みをお持ちのあなたへ。 オウル先生とフォックンが、プログラミングスクール選びから学習方法、キャリア形成まで、丁寧にサポートします! 豊富な情報と分かりやすい解説で、あなたのプログラミング学習を成功へと導きます。
記事URLをコピーしました