excel

【Excel】エクセルのVBAコード一覧・コード集(マクロコードの書き方・コードの表示方法・表示形式コードも)

当サイトでは記事内に広告を含みます

【Excel】エクセルのVBAコード一覧・コード集(マクロコードの書き方・コードの表示方法・表示形式コードも)

エクセルの作業を自動化・効率化する強力なツールがVBA(Visual Basic for Applications)です。しかし「VBAは難しそう」「どんなコードを書けばいいかわからない」と感じている方も多いのではないでしょうか。

本記事では、エクセルのVBAコード一覧・コード集として、よく使われるマクロコードをシーン別にまとめています。コードの書き方・表示方法・表示形式コードの活用まで、VBA初心者から中級者まで役立つ内容を網羅的に解説していきます。

VBAコードの表示方法とエディタの使い方

それではまず、VBAコードを入力・確認するためのエディタ(VBE)の表示方法と基本的な使い方について解説していきます。

VBEを開く手順

方法1:Alt+F11キーを押す(最も手軽な方法)

方法2:「開発」タブ→「Visual Basic」をクリックする

方法3:シートタブを右クリック→「コードの表示」を選択する

「開発」タブが表示されていない場合は、「ファイル」→「オプション」→「リボンのユーザー設定」から「開発」にチェックを入れることで表示できます。

標準モジュールにコードを記述する方法

マクロコードは基本的に「標準モジュール」に記述します。VBEを開いた後、メニューの「挿入」→「標準モジュール」をクリックすると、コードを入力できる白い画面が表示されます。

マクロの基本構造は以下のとおりです。

Sub マクロ名()

 ’ ここにコードを記述する

End Sub

SubとEnd Subの間にコードを記述し、F5キーまたは「実行」ボタンでマクロを実行できます。

マクロの記録機能でコードを自動生成する

VBAの初心者には、「マクロの記録」機能を使ってコードを自動生成する方法がおすすめです。実際にエクセル上で操作した内容がVBAコードとして記録されるため、書き方の参考にもなります。

1. 「開発」タブ→「マクロの記録」をクリックする

2. マクロ名を入力してOKをクリックする

3. 記録したい操作をエクセル上で実際に行う

4. 「記録終了」をクリックする

5. Alt+F11でVBEを開き、記録されたコードを確認する

よく使うVBAコード集(基本操作編)

続いては、実務でよく使われるVBAコードを基本操作カテゴリ別に確認していきます。

セル操作に関するVBAコード

セルの参照・入力・コピーなど、基本的なセル操作のコードを紹介します。

‘セルに値を入力する

Range(“A1”).Value = “テスト”

Cells(1, 1).Value = “テスト” ’行・列の数値で指定する方法

‘セルの値をクリアする

Range(“A1”).ClearContents ’値のみクリア

Range(“A1”).Clear ’書式も含めてすべてクリア

‘セルをコピー・貼り付けする

Range(“A1”).Copy Destination:=Range(“B1”)

‘最終行を取得する

Dim lastRow As Long

lastRow = Cells(Rows.Count, 1).End(xlUp).Row

シート操作に関するVBAコード

シートの追加・削除・名前変更など、シート操作の基本コードは以下のとおりです。

‘シートを追加する

Worksheets.Add After:=Worksheets(Worksheets.Count)

‘シート名を変更する

Worksheets(1).Name = “新しいシート名”

‘シートを削除する(確認ダイアログを非表示)

Application.DisplayAlerts = False

Worksheets(“削除するシート名”).Delete

Application.DisplayAlerts = True

‘すべてのシート名を取得する

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

 Debug.Print ws.Name

Next ws

ループ処理と条件分岐のコード

VBAで自動化を実現するために欠かせないのが、ループ処理(For/While)と条件分岐(If/Select Case)です。

‘For Nextループ(1行目から10行目まで処理)

Dim i As Integer

For i = 1 To 10

 Cells(i, 1).Value = i

Next i

‘If条件分岐

If Range(“A1”).Value >= 100 Then

 Range(“B1”).Value = “達成”

Else

 Range(“B1”).Value = “未達成”

End If

よく使うVBAコード集(応用・便利コード編)

続いては、実務で役立つ応用・便利なVBAコードを確認していきます。

ファイル・フォルダ操作のコード

ファイルの保存・コピー・存在確認など、ファイル操作に関するコードは業務自動化に欠かせません。

‘ファイルを名前を付けて保存する

ThisWorkbook.SaveAs Filename:=”C:\test\出力ファイル.xlsx”

‘ファイルの存在確認

If Dir(“C:\test\data.csv”) “” Then

 MsgBox “ファイルが存在します”

Else

 MsgBox “ファイルが見つかりません”

End If

‘フォルダ内のすべてのファイルを取得する

Dim fileName As String

fileName = Dir(“C:\test\*.xlsx”)

Do While fileName “”

 Debug.Print fileName

 fileName = Dir

Loop

メッセージボックスと入力ダイアログのコード

ユーザーとのインタラクションに使うMsgBox・InputBoxのコードは以下のとおりです。

‘確認ダイアログを表示する

Dim result As Integer

result = MsgBox(“処理を実行しますか?”, vbYesNo + vbQuestion)

If result = vbYes Then

 MsgBox “実行しました”

End If

‘入力ダイアログを表示する

Dim inputVal As String

inputVal = InputBox(“値を入力してください”, “入力”, “初期値”)

VBAで使える表示形式コード一覧

VBAのNumberFormatプロパティと組み合わせて使う表示形式コードの主なものを紹介します。

表示形式コード 表示例 説明
“#,##0” 1,234 カンマ区切り整数
“#,##0.00” 1,234.56 カンマ区切り小数2桁
“0%” 12% パーセント表示
“yyyy/mm/dd” 2024/01/01 日付(年月日)
“hh:mm:ss” 09:30:00 時刻(時分秒)
“@” (そのまま) 文字列として表示

‘セルに表示形式を設定するVBAコード例

Range(“A1”).NumberFormat = “#,##0”

Range(“B1”).NumberFormat = “yyyy/mm/dd”

VBAコードのデバッグと実行に関するTips

続いては、VBAコードをより効率よく書くためのデバッグ方法と実行に関するTipsを確認していきます。

デバッグの基本(ブレークポイント・ステップ実行)

VBAのデバッグにはブレークポイントとステップ実行が基本です。ブレークポイントはコードの特定行にF9キーで設定でき、その行で処理を一時停止させることができます。

F8キーを押すことで1行ずつ処理を進めるステップ実行ができ、変数の値の変化をリアルタイムに確認しながらデバッグできます。

エラー処理(On Error)の書き方

実務で使うマクロには、エラーが発生した場合の処理を組み込んでおくことが重要です。

Sub SampleMacro()

 On Error GoTo ErrorHandler

 ’ メイン処理

 Range(“A1”).Value = 100

 Exit Sub

ErrorHandler:

 MsgBox “エラーが発生しました:” & Err.Description

End Sub

On Error Resume Nextを使うとエラーを無視して処理を続行できますが、予期しないバグの原因になることがあるため、本番マクロでの多用は避けることが推奨されます。エラー処理はOn Error GoToを使った明示的な処理が安全です。

処理速度を上げるための最適化コード

大量データを処理するマクロでは、画面更新の停止・自動計算の停止を入れることで処理速度を大幅に改善できます。

Sub FastMacro()

 Application.ScreenUpdating = False ’画面更新を停止

 Application.Calculation = xlCalculationManual ’自動計算を停止

 

 ’ メイン処理をここに記述

 

 Application.Calculation = xlCalculationAutomatic ’自動計算を再開

 Application.ScreenUpdating = True ’画面更新を再開

End Sub

まとめ

本記事では、【Excel】エクセルのVBAコード一覧・コード集として、マクロコードの書き方・コードの表示方法・表示形式コードまで幅広く解説しました。

VBAはセル操作・シート操作・ファイル操作・条件分岐・ループ処理など、覚えるべき基本パターンを押さえれば業務自動化の幅が大きく広がるツールです。本記事のコード集を参考にしながら、少しずつ自分の業務に取り入れてみてください。

エラー処理や処理速度の最適化も意識することで、より安定した実用的なマクロを作成できるでしょう。ぜひ日々の業務効率化にお役立てください。