メインコンテンツへスキップ

Excelでセルの値に基づいてマクロを実行するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-08-06

例えば、ワークブック内に複数のマクロコードがあり、これらのコードをセルの値に基づいて実行したいとします。この記事では、Excelを使用する際に日常業務で遭遇する可能性のあるいくつかの状況について説明します。

VBAコードを使用して、セルの値が特定の値より大きいまたは小さい場合にマクロを実行またはトリガーする

VBAコードを使用して、セルの値が特定のテキストと等しい場合にマクロを実行またはトリガーする


arrow blue right bubble VBAコードを使用して、セルの値が特定の値より大きいまたは小さい場合にマクロを実行またはトリガーする

たとえば、セルA1の値が10から50の間の場合、macro1を実行し、値が50より大きい場合はmacro2を実行します。この作業をExcelで解決するには、次のVBAコードを適用してください。

1. セルの値に基づいてマクロを実行したいシートタブを右クリックし、コンテキストメニューから「コードの表示」を選択します。開かれた Microsoft Visual Basic for Applicationsウィンドウで、次のコードを空白のモジュールにコピーして貼り付けます。

VBAコード:セルの値が大きいまたは小さい場合にマクロを実行する

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) And Target.Address = "$A$1" Then
        Select Case Target.Value
        Case 10 To 50: Macro1
        Case Is > 50: Macro2
        End Select
    End If
End Sub

right click the sheet tab and select view code then pase the code into the module 1

: 上記のコードでは:

A1は、マクロを実行する基準となる特定の値が含まれているセルです。

Case 10 To 50: Macro1: 値が10から50の間の場合、Macro1を実行することを意味します。

Case Is > 50: Macro2: 値が50より大きい場合、Macro2を実行することを意味します。

必要に応じてこれらのマクロ名と条件を変更してください。また、Caseスクリプトに従ってさらに多くの条件を追加することもできます。

2. その後、このコードウィンドウを保存して閉じます。これで、セルA1に入力された値が10から50の間の場合、Macro1がトリガーされ、入力された値が50より大きい場合、Macro2が実行されます。

a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

arrow blue right bubble VBAコードを使用して、セルの値が特定のテキストと等しい場合にマクロを実行またはトリガーする

特定のセル内のテキストに基づいてマクロをトリガーしたい場合、例えば、「Delete」というテキストが入力されたときにmacro1を実行し、「Insert」というテキストが入力されたときにmacro2を実行する場合、次のコードが役立ちます。

1. セルの値に基づいてマクロを実行したいシートを右クリックし、コンテキストメニューから「コードの表示」を選択します。開かれたMicrosoft Visual Basic for Applicationsウィンドウで、次のコードを空白のモジュールにコピーして貼り付けます。

VBAコード:セルの値が特定のテキストの場合にマクロを実行する

Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
 Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub 

right click the sheet tab and select view code then pase the code into the module 2

: 上記のコードでは、「Delete」と「Insert」はマクロを実行する基準となるセルのテキストであり、Macro1 Macro2はテキストに基づいて実行したいマクロです。必要に応じてこれらを変更してください。

2. その後、このコードを保存してウィンドウを閉じます。これで、セルA1に「Delete」と入力するとmacro1がトリガーされ、「Insert」と入力するとmacro2が実行されます。


関連記事:

Excelでセルの値が変更されたときにマクロを実行するにはどうすればよいですか?

Excelで印刷前にマクロを自動的に実行するにはどうすればよいですか?

Excelでドロップダウンリストから選択した値に基づいてマクロを実行するにはどうすればよいですか?

Excelでハイパーリンクをクリックしてマクロを実行するにはどうすればよいですか?

ワークブックからシートが選択されたときにマクロを実行するにはどうすればよいですか?

最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ15ツールセット12 種類のテキストツールテキストの追加特定の文字を削除など)  |  50 種以上のグラフ タイプガントチャートなど)  |  40を超える実用的な 数式誕生日に基づいて年齢を計算する、など)  |  19種の 挿入ツールQRコードの挿入パスから画像の挿入など)  |  12種類の 変換ツール単語に変換する通貨変換など)  |  7つの 結合&分割ツール高度な行のマージセルの分割など)  |  ...さらに多数
お好きな言語でKutoolsを使用できます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上に対応!

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!