VBA(マクロ) PR

【初心者向け】Excel VBA(マクロ)「基本的な使い方」について超簡単解説!

記事内に商品プロモーションを含む場合があります

はじめに

Excel VBA(Visual Basic for Applications)は、
Excelのデータ操作や機能拡張に特化したプログラミング言語です。
繰り返し行う作業を自動化したり、ユーザー定義の関数や
コマンドを作成したりすることで、Excelの使い勝手を
大きく向上させることができます。

今回はVBAの基本的な使い方について
簡単に解説していきたいと思います。

VBAの環境設定

ステップ1: 開発タブの表示

Excelのリボンには標準で「開発」タブは表示されていません
ファイル→オプション→リボンのカスタマイズで
「開発」タブを有効にしてください。

ステップ2: VBAエディタの起動

「開発」タブから「Visual Basic」をクリックすると、
VBAエディタが開きます。

簡単なマクロの作成

ステップ1: 新しいモジュールの挿入

VBAエディタで「挿入」→「モジュール」を選択し、
新しいコーディング用のウィンドウを作成します。

ステップ2: コードの記述

以下は、セルA1に”Hello, VBA!”と表示する簡単なマクロの例です。

Sub SayHello()
    Range("A1").Value = "Hello, VBA!"
End Sub

このコードをモジュールウィンドウに貼り付け、
F5キーを押して実行します。

VBAコードの基本構造

  • サブプロシージャ(Sub):
    VBAのコードはSubというキーワードで始まる
    サブプロシージャ内に記述します。
    これは、特定のタスクを実行するコードのブロックです。
  • コメント:
    '」記号で始まる行はコメントとして扱われ、
    コードとして実行されません
    コードの説明やメモに使用します。
  • 変数:
    データを一時的に格納するための容器です。
    Dimキーワードを使って宣言します

VBAの基本用語解説

サブプロシージャ(Sub Procedure)

サブプロシージャは、VBAで特定のタスクを
実行するためのコードブロック
です。
Subキーワードで始まり、End Subで終了します。
例えば、セルに値を入力する、
メッセージボックスを表示するなどの操作を行います。

Sub MyFirstMacro()
    MsgBox "Hello, VBA!"
End Sub

関数(Function)

関数もサブプロシージャと同様にコードブロックですが、
関数は値を返す点が異なります。
Functionキーワードで始まり、End Functionで終了します
関数は計算結果を返すことができ、
その結果を他のVBAコードやExcelのセルで使用できます。

Function AddTwoNumbers(a As Integer, b As Integer) As Integer
    AddTwoNumbers = a + b
End Function

変数(Variable)

変数はデータを一時的に格納するための場所です。
VBAではDimキーワードを使って変数を宣言します。
変数にはデータ型(Integer, String, Booleanなど)を
指定することができます。

Dim myNumber As Integer
myNumber = 10

プロパティ(Property)

プロパティはオブジェクトの特性を表します
例えば、Excelのセルに対する「色」や「値」などがプロパティです。
VBAでオブジェクトのプロパティを設定または取得することができます。

Range("A1").Value = "Hello"

メソッド(Method)

メソッドはオブジェクトに対して行う操作を表します
例えば、セルの範囲をクリアする、
シートを追加するなどがメソッドです。
メソッドはオブジェクトに対して特定のアクションを実行します。

Sheets("Sheet1").Delete

オブジェクト(Object)

オブジェクトはExcel VBAにおける構成要素
(セル、シート、ワークブックなど)を指します

オブジェクトはプロパティやメソッドを持ち、これらを通じて操作されます。

コレクション(Collection)

コレクションは、同じ種類のオブジェクトのグループです
例えば、Worksheetsコレクションは
ワークブック内のすべてのワークシートを含みます。

メッセージボックス(MsgBox)関数

Excel VBAにおけるメッセージボックスは、
MsgBox関数を使用して表示します
MsgBox関数は、指定したメッセージを
ダイアログボックスに表示し、
ユーザーがボタンをクリックするまで
コードの実行を一時停止します。

基本的な使用方法

MsgBox関数の最も基本的な使用方法は、
表示したいテキストメッセージを引数として渡すことです。

Sub ShowMessage()
    MsgBox "こんにちは、Excel VBA の世界へようこそ!"
End Sub

このコードは、「こんにちは、Excel VBA の世界へようこそ!」
というメッセージを含むメッセージボックスを表示します。

ボタンとアイコンのカスタマイズ

MsgBox関数では、表示するボタンや
アイコンをカスタマイズすることができます。
これは、第二引数に特定の定数を渡すことで実現します。

Sub ShowQuestion()
    Dim response As VbMsgBoxResult
    response = MsgBox("このマクロを続行しますか?", vbQuestion + vbYesNo, "確認")
    
    If response = vbYes Then
        MsgBox "マクロを続行します。"
    Else
        MsgBox "マクロを中止します。"
    End If
End Sub

このコードでは、ユーザーに「このマクロを続行しますか?」と
尋ねる質問のメッセージボックスを表示します。
ユーザーが「はい」または「いいえ」を選択できるように、
vbYesNoオプションを指定しています

また、vbQuestionオプションにより、
質問のアイコンをメッセージボックスに表示しています。

メッセージボックスの応答の取得

MsgBox関数は、ユーザーがクリックした
ボタンに応じて異なる値を返します。
これにより、ユーザーの選択に基づいて異なる
アクションを実行することができます。
上記の例では、vbYesNoオプションを使用しているため、
ユーザーが「はい」を選択した場合はvbYesが、
「いいえ」を選択した場合はvbNoresponse変数に格納されます。

メッセージの返答次第で
動作を分岐させる事ができます。

まとめ

Excel VBAを学ぶことで、Excelの使い勝手を
大きく向上させることができます。
基本的な使い方からスタートして、
徐々に複雑なマクロの作成に挑戦してみましょう。
この記事がExcel VBAの世界への第一歩となることを願っています。

良ければ他の記事も見に来て下さい!
これからも一緒に学んでいきましょう!

【お使いのパソコンにExcelをインストールする】

created by Rinker
¥14,899 (2024/12/22 20:21:36時点 楽天市場調べ-詳細)
マイクロソフト Excel 2021

【オススメExcel書籍はこちらから購入可能!】

created by Rinker
¥1,738 (2024/12/22 21:44:24時点 楽天市場調べ-詳細)

この記事を書いている人

◉てるパパ(telpapa)
本業でExcelを駆使して業務改善を行う
30代会社員