VBA + Excel

VBA Code Examples


Excel Automation Tool

AutoMacro: VBA Add-in with Hundreds of Ready-To-Use VBA Code Examples & much more!


Search the list below for free Excel VBA code examples complete with explanations.
Some include downloadable files as well. These Excel VBA Macros & Scripts are professionally developed and ready-to-use.

We hope you find this list useful!

Visit our English VBA Code Examples page to find 500+ articles

VBA Code Examples
In Depth Tutorialsyes
PowerPoint VBA マクロの例とチュートリアル
Excel VBAでデータをソートする
Excel VBAで検索と置換を使う
VBAチートシート – コマンド&文法リスト
Wordマクロの例とVBAチュートリアル
Basicsyes
VBA If, ElseIf, Else (If文の究極のガイド)
VBA 値の貼り付けとPasteSpecial
vba – マクロからの切り取り、コピー、貼り付け
VBA ファイルの保存 – 20の簡単な例
VBA Coding Conceptsyes
VBAでコメントする
VBA – モジュールやフォームの名前を変更したり削除したりする方法
VBA – サブプロシージャから値を返す
VBA Subプロシージャから関数を呼び出す
VBA 関数 ー 呼び出し、戻り値、およびパラメータ
VBAのエラー – エラー処理のベストプラクティス
VBA PrivateプロシージャとPublicプロシージャの違い
VBA Select Caseステートメント
VBA – 右クリックのメニューにマクロを登録する
VBA – マクロから他のマクロを呼び出す
VBA – マクロを一行ずつ実行する
VBA – コード実行中に待機、遅延、タイマーを作成する
VBA Debug.Printとイミディエイトウィンドウ
VBA DoEvent
VBA End
VBA Exit SubおよびFunction
VBA エラー発生時のExit Sub
Loopsyes
VBA For Loop – セルの範囲をループする
Excel VBAのループ – For Each, For Next, Do While など
VBA For Eachの例(クイックリファレンス)
VBA Exit For
VBA ループを抜ける
Ranges and Cellsyes
Excel VBA 範囲とセル
Excel VBAの数式 – 究極のガイド
Excel VBA 範囲のサイズを変更する
VBA – マクロで連続データを作成する(オートフィル)
VBA – セルの背景色を変更する
VBA – ClearFormats – 範囲内の各セルの書式をクリアする
VBA – セル範囲に付けられたすべての名前を削除する
VBA – フォーマットペインター(書式のコピー)
VBA – アクティブセルの行や列を取得する
vba – すべてのセルを選択する
VBA セルの値の取得、設定、変更
VBA セルのクリア (ClearContents / Clear)
VBA CurrentRegion(連続したセル領域)
VBA セルの結合と結合解除
VBA 範囲またはセルのオフセット
VBA セルとセルの範囲のアドレス
VBA Range.End (xlDown, xlUp, xlToRight, xlToLeft)
VBA 範囲選択/セル選択
VBA Union – 複数のセル範囲を結合する
VBA テキストの折り返し
Rows & Columnsyes
VBA – 行や列全体を選択する(操作する)
セルの値に基づいて行を削除または挿入する
列と行の表示/非表示の切り替え
すべての行/列の非表示を解除する
VBA – 列幅の自動調整
VBA – 選択された行数を数える
VBA – 空白行を削除する
VBA 行と列のコピー/貼り付け
vba 行や列を丸ごと削除する
VBA 行と列のグループ化
VBA 行や列を挿入する
vba 列の幅や行の高さを設定する
VBA UsedRange – 行または列の数を数える
Sheetsyes
VBAシート – 究極のガイド
VBA – ワークブック内のシート数を数える
VBA – ワークシートのハイパーリンクメニューを作成する
VBA – ワークシートを非表示にする(または非表示を解除する)
VBA – ワークシートのタブを隠す
VBA – ワークシート関数の使い方(全リスト)
VBA – For Eachですべてのワークシートをループする
VBA – ワークブック内のすべてのシートを一覧表示するマクロ
VBA – すべてのワークシートの非表示を解除する
VBA シート全体をクリアする
VBA ワークシートのコピー
VBA ワークシートの削除とクリア
VBAシート名の取得と変更
VBA ワークシートの保護と保護の解除
VBA ワークシートを追加して名前を設定する
VBA シートの選択、シートのアクティブ化、アクティブシートの取得
Workbooksyes
VBA – ワークブックの新規作成 (Workbooks.Add)
VBA ActiveWorkbookとThisWorkbook
vba ワークブックを開く/閉じる
VBAによるワークブックの保護(パスワードによる保護/保護解除)
VBA ワークブックを操作する(ワークブックオブジェクト)
Arraysyes
VBA 配列
Excel VBAコレクション
VBA ArrayList – メガガイド2022年改訂版
VBA オブジェクト配列
VBA 動的配列(ReDim & ReDim Preserve)
VBA – 配列変数の宣言(Dim)、作成、および初期化
VBA 配列の長さ/サイズ
VBA 配列にセル範囲を代入する
VBA 配列のクリアとErase関数
vba 配列のループ処理 / 配列の各項目の処理
VBA 配列の転置
VBA 配列内の値を検索する
VBA – 配列から重複を削除する
VBA 配列を返す関数
VBA 多次元配列(2次元配列)
VBA 配列を範囲に出力する
Errorsyes
VBA – 型が一致しません(実行時エラー13)
Variablesyes
VBAの変数配列
VBA ブール型変数(Dimで宣言)
VBAデータ型の概要 – 変数と定数
VBA 日付型変数
VBA グローバル変数
VBA 長整数型(変数の宣言)
VBA Public変数 – 複数のモジュールまたはサブを跨いで変数を使用する
VBA Rangeオブジェクト変数(Dim / Set Range)
VBA 単精度浮動小数点データ型 (Dim Variable)
VBA バリアントデータ型(変数の宣言)
Settingsyes
VBA – ステータスバーにメッセージを表示する
VBA – マクロから警告メッセージが表示されないようにする
vba 自動計算をオフ(またはオン)にする
VBA – 数式バーをオフ(またはオン)にする
VBA – 画面更新を無効にする
Text and Stringsyes
VBAで大文字と小文字を区別しないようにする – Option Compare Text
VBA – 文字列から数値を抽出する
VBA – メッセージボックスで改行する
VBA – 文字列のループ処理
VBA – 文字列の左側または右側から文字を削除する
VBAの文字列の比較 – StrComp
VBA 比較演算子(等しくない、大きい、小さい、等しい、その他)
VBA 数値を文字列に変換する
VBA 文字列を数値に変換する
VBA INSTR – 文字列中の文字を検索する
VBA Like演算子
VBA 改行/キャリッジリターン
VBA Space関数 – 文字列にスペースを追加する
VBA 文字列と文字列関数
vba テキストから列への変換
VBA 大文字、小文字 – 大文字小文字関数
Viewyes
VBA – ウィンドウ枠を固定する
VBA – 垂直スクロールと水平スクロール
VBA – ワークシートのズームイン・ズームアウト
Filesyes
VBA FileSystemObjectでファイルを移動する(MoveFile)
VBA – CreateTextFileでテキストファイルを作成する
VBA – セルの範囲をCSV(区切りテキストファイル)に書き出す
VBA – ワークブック名で開かれているかどうか確認する
VBA ファイルやフォルダが存在するかどうかを確認する
VBA 複数のExcelファイルを1つのワークブックに結合する
VBA CopyFolderでフォルダをコピーする(FSO)
VBA ファイル/ワークブックをコピーする
VBA ファイル/ワークブックを削除する
VBA DeleteFolderでフォルダを削除する(FSO)
VBA GetFileName(FSO)でファイル名を取得する
VBA GetFolder & GetFile(ファイルとフォルダのプロパティを取得する)
vba フォルダ内のファイル一覧
vba ファイルダイアログボックスを開く
VBA ファイル名を変更する
Shapes, Charts, Objectsyes
VBA オートフィルタ
vbaガイド:チャート・グラフ編
VBAガイド:ピボットテーブル編
VBAオブジェクト
VBA テーブルとListObjects
Formattingyes
Excel VBAで条件付き書式を使う
VBA 太字
VBA 罫線を引く
VBA セルのフォントの色、サイズ、スタイルなどの変更
VBAの日付の書式設定
Eventsyes
VBA – 保存プロンプトを表示させずに終了する
VBA – ワークブックを閉じる前に強制的に保存する
VBA – Excelの起動時にマクロを実行する
VBA Worksheet Changeイベント – セルが変更されたらマクロを実行する
UserForms, MsgBoxes & Controlsyes
VBA – 「はい / いいえ」メッセージボックス(MsgBox)
VBA InputBox – ユーザーからの入力を取得する
VBA ユーザーフォームの作成
Excel VBA オプションボタン
スピンボタン Excel VBA
VBA チェックボックス
VBA コンボボックス
VBA リストボックス
VBA ユーザーフォームを開く、閉じる
Formattingyes
Excel VBAで条件付き書式を使う
VBA 太字
VBA 罫線を引く
VBA セルのフォントの色、サイズ、スタイルなどの変更
VBAの日付の書式設定
Misc.yes
Excel VBA クリップボードをクリアする
Excel VBA PDFに名前を付けて保存(印刷)する
Excel VBAでの数値の書式設定
Microsoft ExcelのVBAアドイン(.xlamファイル)のインストールおよびアンインストールの方法
VBAでExcelの重複した値を削除する
VBA – セルコメントの追加と削除
VBA – 今日の日付(現在の日付)を取得する
VBA – ピボットテーブルを更新する
VBA – VBAでゴールシークを使う
VBA – VBAで分析ツールを使用する
VBA Application.CutCopyMode = False:これは何でしょうか?
VBA Calculate – ワークブック、ワークシート、または範囲を今すぐ計算する
VBA 別のサブルーチンからSubを呼び出す/実行する
VBA 複数の(入れ子の)Ifステートメント
VBとVBAの違いは何ですか?
VBA – オートフィルタをオフにする / フィルタをクリアする
vba ドロップダウンリスト(入力規則)
VBA ハイパーリンク
VBA 乱数
Functionsyes
VBAでIsnumericとIsnumberを使う
VBA COUNT
VBA COUNTIF関数とCOUNTIFS関数
VBA 日付に関する関数
VBA DateAdd関数
VBA 配列にフィルタをかける
VBA Len関数 – 文字列の長さを取得する
VBA Round, RoundUp, RoundDown関数
VBA Split関数 – 文字列を配列に分割する
VBA Sum関数(範囲、列、その他)
VBA sumif関数とsumifs関数
VBA UBound関数とLBound関数
Vlookup – VBAで複数の結果を表示する
VBA ユーザ定義関数による複数条件のVlookup
Advanced Programmingyes
VBAクラスモジュールのチュートリアルとサンプル
VBA 行列 – 作成および詳細
VBA 正規表現(Regex)
VBA SendKeys
VBA Timer関数
Internetyes
VBAを使ったInternet Explorer (IE) の自動化
VBA ExcelからGmailでメールを送信する
VBA ExcelからOutlookでメールを送信する
Accessyes
Wordyes

AI Formula Generator

Try for Free


Excel Macro Examples

Below you will find a list of basic macro examples for common Excel automation tasks.

Copy and Paste a Row from One Sheet to Another

This super simple macro will copy a row from one sheet to another.

Sub Paste_OneRow()
'Copy and Paste Row
Sheets("sheet1").Range("1:1").Copy Sheets("sheet2").Range("1:1")

Application.CutCopyMode = False

End Sub

Send Email

This useful macro will launch Outlook, draft an email, and attach the ActiveWorkbook.

Sub Send_Mail()
    Dim OutApp As Object
    Dim OutMail As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .to = "test@test.com"
        .Subject = "Test Email"
        .Body = "Message Body"
        .Attachments.Add ActiveWorkbook.FullName
        .Display
    End With
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

List All Sheets in Workbook

This macro will list all sheets in a workbook.

Sub ListSheets()
    
    Dim ws As Worksheet
    Dim x As Integer
    
    x = 1
    
    ActiveSheet.Range("A:A").Clear
    
    For Each ws In Worksheets
        ActiveSheet.Cells(x, 1) = ws.Name
        x = x + 1
    Next ws
    
End Sub

Unhide All Worksheets

This macro will unhide all worksheets.

' Unhide All Worksheets
Sub UnhideAllWoksheets()
    Dim ws As Worksheet
    
    For Each ws In ActiveWorkbook.Worksheets
        ws.Visible = xlSheetVisible
    Next ws
    
End Sub

Hide All Worksheets Except Active

This macro will hide all worksheets except the active worksheet.

' Hide All Sheets Except Active Sheet
Sub HideAllExceptActiveSheet()
    Dim ws As Worksheet
    
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> ActiveSheet.Name Then ws.Visible = xlSheetHidden
    Next ws
    
End Sub

Unprotect All Worksheets

This macro example will unprotect all worksheets in a workbook.


' UnProtect All Worksheets
Sub UnProtectAllSheets()
    Dim ws As Worksheet
    
    For Each ws In Worksheets
        ws.Unprotect "password"
    Next ws
    
End Sub

Protect All Worksheets

This macro will protect all worksheets in a workbook.

' Protect All Worksheets
Sub ProtectAllSheets()
    Dim ws As Worksheet
    
    For Each ws In Worksheets
        ws.protect "password"
    Next ws
    
End Sub

Delete All Shapes

This macro will delete all shapes in a worksheet.

Sub DeleteAllShapes()

Dim GetShape As Shape

For Each GetShape In ActiveSheet.Shapes
  GetShape.Delete
Next

End Sub

Delete All Blank Rows in Worksheet

This example macro will delete all blank rows in a worksheet.

Sub DeleteBlankRows()
Dim x As Long

With ActiveSheet
    For x = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
        If WorksheetFunction.CountA(.Rows(x)) = 0 Then
            ActiveSheet.Rows(x).Delete
        End If
    Next
End With

End Sub

Highlight Duplicate Values in Selection

Use this simple macro to highlight all duplicate values in a selection.


' Highlight Duplicate Values in Selection
Sub HighlightDuplicateValues()
    Dim myRange As Range
    Dim cell As Range
    
    Set myRange = Selection
    
    For Each cell In myRange
        If WorksheetFunction.CountIf(myRange, cell.Value) > 1 Then
            cell.Interior.ColorIndex = 36
        End If
    Next cell
End Sub

Highlight Negative Numbers

This macro automates the task of highlighting negative numbers.

' Highlight Negative Numbers
Sub HighlightNegativeNumbers()
    Dim myRange As Range
    Dim cell As Range
    
    Set myRange = Selection
    
    For Each cell In myRange
        If cell.Value < 0 Then
            cell.Interior.ColorIndex = 36
        End If
    Next cell
End Sub

Highlight Alternate Rows

This macro is useful to highlight alternate rows.

' Highlight Alternate Rows
Sub highlightAlternateRows()
    Dim cell As Range
    Dim myRange As Range
    
    myRange = Selection
    
    For Each cell In myRange.Rows
        If cell.Row Mod 2 = 1 Then
            cell.Interior.ColorIndex = 36
        End If
    Next cell
End Sub

Highlight Blank Cells in Selection

This basic macro highlights blank cells in a selection.

' Highlight all Blank Cells in Selection
Sub HighlightBlankCells()
    Dim rng As Range
    
    Set rng = Selection
    rng.SpecialCells(xlCellTypeBlanks).Interior.Color = vbCyan
    
End Sub

Excel VBA Macros Examples – Free Download

We’ve created a free VBA (Macros) Code Examples add-in. The add-in contains over 100 ready-to-use macro examples, including the macro examples above!

excel vba examples free download
Download Page

Excel Macro / VBA FAQs

How to write VBA code (Macros) in Excel?

To write VBA code in Excel open up the VBA Editor (ALT + F11). Type “Sub HelloWorld”, Press Enter, and you’ve created a Macro! OR Copy and paste one of the procedures listed on this page into the code window.

What is Excel VBA?

VBA is the programming language used to automate Excel.

How to use VBA to automate Excel?

You use VBA to automate Excel by creating Macros. Macros are blocks of code that complete certain tasks.


Practice VBA

You can practice VBA with our interactive VBA tutorial.

practice vba macros