【これだけは押さえる】VBAでよく使う最重要コード10選|業務効率化に直結

VBAを使えば、繰り返し作業や定型処理を一瞬で自動化できます。
でも「どんなコードを覚えればいいの?」という方も多いはず。

この記事では、業務効率化に直結するVBAの最重要コード10選を厳選してご紹介します。
コピーしてすぐ使えるので、ぜひ実務で活用してください!


この記事はこんな人におすすめ

  • VBAを始めたばかりの初心者
  • よく使う定型処理をまとめて知りたい人
  • 実務で役立つコードをストックしたい人

1. セルに値を入力する(基本中の基本)

Range("A1").Value = "こんにちは"

セルA1に「こんにちは」と入力します。ループや条件分岐と組み合わせて汎用化できます。


2. 最終行を取得する(表の末尾を自動で検出)

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

A列の最終行(データがある最後の行番号)を取得できます。データの繰り返し処理に必須。


3. シートをループで処理する(複数シート対応)

Dim ws As Worksheet
For Each ws In Worksheets
    MsgBox ws.Name
Next ws

すべてのシート名を順番に表示。ループ処理でシートを一括処理する際に使います。


4. ファイルを開く(他ブックを自動で開く)

Workbooks.Open "C:\Users\user\Desktop\sample.xlsx"

指定したパスのExcelファイルを開きます。ファイル操作を自動化する基本。


5. 別ブックにコピー&貼り付け(データ転記の王道)

Workbooks("元ブック.xlsx").Sheets("Sheet1").Range("A1:A10").Copy
Workbooks("転記先.xlsx").Sheets("Sheet1").Range("B1").PasteSpecial xlPasteValues

別のブックにデータを値だけ転記。業務で非常によく使います。


6. メッセージボックス(簡易確認ダイアログ)

MsgBox "処理が完了しました!", vbInformation

処理完了後の通知や確認に便利。vbYesNoなどで選択肢も可能。


7. フォルダ内のすべてのファイルを処理する

Dim fso As Object, folder As Object, file As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Users\user\Desktop\対象フォルダ")

For Each file In folder.Files
    Debug.Print file.Name
Next file

指定フォルダ内のファイル名をすべて取得。ファイル一括処理の基本。


8. 行を非表示にする(フィルタ処理に便利)

If Cells(i, 3).Value = "" Then
    Rows(i).Hidden = True
End If

空白行などを自動で非表示にできます。条件付きで使うのが実践的。


9. 日付を取得する(今日の日付を使いたい時に)

Cells(1, 1).Value = Date

今日の日付をA1セルに入力。ログ出力や日付スタンプでよく使います。


10. エラーハンドリング(途中で止まらないように)

On Error Resume Next
' ここにエラーが起こり得る処理
If Err.Number <> 0 Then
    MsgBox "エラー発生:" & Err.Description
End If
On Error GoTo 0

実務では必須。ファイルが開けない、シートがない…などでも処理が止まらず安心です。


おまけ:VBAマクロをボタンに割り当てる方法

  1. Excelの「開発」タブ →「挿入」→「フォームコントロールのボタン」
  2. 任意のマクロを選んで割り当て
  3. ボタンを押すだけで処理が実行されます!

まとめ|この10個を押さえればOK!

カテゴリコード例
入力・出力Range("A1").Value = "こんにちは"
最終行取得Cells(Rows.Count, 1).End(xlUp).Row
シート・ファイル操作Workbooks.Open, For Each ws In Worksheets
自動化処理フォルダ内ファイルループ、行の非表示
ユーザー対応MsgBox, エラー処理, 日付取得
タイトルとURLをコピーしました