1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

前回は、私がカラオケ店の副店長として感じた業務の非効率をきっかけに、VBAの世界に足を踏み入れた経緯と、VBAの基本についてお話ししました。

今回はその続きとして、「マクロ」と「VBA」の違いにフォーカスを当てます。

この2つの言葉はよく混同されがちですが、仕組みを理解すると、自動化の第一歩を踏み出す上での強力な武器となります。


マクロとVBAの関係性をざっくり説明すると?

まずは、ざっくりとイメージをつかむところから始めましょう。

  • マクロ:Excelの操作を録画する「自動再生ボタン」
  • VBA:プログラムそのもの

たとえばExcelでセルを選択して色を変える作業をして、「その手順を自動化したい」と思ったとします。
マクロを使えば、その操作を記録して、あとから自動的に再現できます。
そしてその記録は、VBAというプログラムの形で保存されているのです。


実際にやってみよう:マクロ記録でVBAを見る

ここからは、実際のExcelを使って、マクロ記録→VBA確認という流れを体験してみましょう。

手順①:開発タブを表示する

初期状態では「開発」タブが非表示のことが多いので、以下の手順で表示します。

  1. Excelの「ファイル」→「オプション」を開く
  2. 左側の「リボンのユーザー設定」を選択
  3. 右側の一覧から「開発」にチェックを入れてOK

これで「開発」タブが上部リボンに表示されるようになります。

また、Altキー+F11で開くことも可能です。


手順②:マクロを記録してみる

開発タブ → 「マクロの記録」をクリックし、以下のような操作を試してみましょう。

  • 任意のセルを選択
  • 「こんにちは VBA」と入力
  • セルに黄色の塗りつぶしを適用

操作が終わったら、「記録終了」をクリック。これでマクロの記録は完了です。


手順③:VBAコードを確認する

続いて、記録されたVBAコードを見てみましょう。

  1. 「開発」タブ →「Visual Basic」をクリック(または Alt + F11)
  2. 開いた画面の左側「モジュール」→「Module1」などをダブルクリック

すると、先ほど自分が行った操作がVBAコードとして記録されているはずです。

Sub Macro1()
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "こんにちは VBA"
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
    End With
End Sub

これが、VBAの正体=Excel操作の自動実行を司るコードなのです。


VBAを自分で書けると何が違うの?

上のコードの中で、セルの位置(Range("A1"))や文字列("こんにちは VBA")を、他の値に書き換えることができます。
つまりVBAを自分で理解して書けるようになれば、記録では表現しきれない、より柔軟で効率的な処理ができるようになるのです。

たとえば…

  • 複数シートの同一セルを一括更新
  • 「今月」などの条件に応じて処理を分岐
  • ループを使って複数セルに同じ処理をまとめて実行

こうした操作は、マクロの「録画」だけではできません。
VBAを学ぶ=自動化の表現力と自由度を手に入れるということなのです。


初心者がよく勘違いしがちなこと

「マクロ=古い、VBA=新しい」?

→ いいえ。マクロはVBAを活用する1つの手段であり、両者は共存している存在です。

「マクロだけで十分じゃない?」

→ 一部の単純作業ではそれで問題ありません。ただし応用がきかない・融通が効かないという制限があります。

「VBAは難しいから触らない」

→ むしろExcelに詳しい人ほど入り口を見逃しがちです。VBAは最初の一歩が簡単です!


実務シーンでの応用イメージ

カラオケ店勤務時代、私は次のような自動化を行いました。

  • 毎月Excelで作っていた請求集計シートを、VBAでワンクリック作成
  • 複数のPDFから必要な情報だけを抽出し、整形してExcelへ転記
  • 売上データから、指定された条件でハイライト・フィルターを一括実行
    などなど…

これらは、マクロ記録では手が届かず、VBAを学んだからこそ可能になった世界でした。


まとめ:まずは「録画」から、次第に「編集」へ

マクロとVBAの違いは、あえて言えば 「再生専用プレイヤー」と「プログラマブルな編集ソフト」 の違い。
最初は録画(マクロ)から始めて、コードに興味が湧いたら少しずつVBAに触れるのが理想です。

VBAは、「書く」ことで自分仕様の自動化ができるようになる技術。
ですが「書けないとダメ」ではなく、観察・模倣からのスタートでも十分OKなんです。


次回は、VBAを書くための環境である「VBE」の使い方を記述していきます。
コードを書く場所はどこなのか?間違えたらどう直せばいいのか?を書いていきたいと考えています。


1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?