KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でセルの値が特定の値より大きい、または小さい場合にメッセージボックスを表示させるにはどうすればよいですか?

著者Xiaoyang変更日

あるセルの値が他のセルと比較して大きかったり小さかったりする場合、Excel でメッセージボックスをアラートとして表示したいと考えていませんか?本記事では、この課題を解決するためのいくつかのコードをご紹介します。

列内のセル値が他のセルより大きいか小さい場合にメッセージボックスをポップアップする

セル内の値が他のセルより大きいか小さい場合にメッセージボックスをポップアップする


列内のセル値が他のセルより大きいか小さい場合にメッセージボックスをポップアップする

たとえば、セル A1 に特定の数値100 が入力されているとします。このとき、列 D に入力された数値がセル A1 の値(100)を超えた場合、ユーザーに通知するメッセージボックスを表示したいとします。

次の手順に従えば、以下の VBA コードでこれを実現できます。

1.使用したいワークシートに移動します。

2.シートの見出しを右クリックし、コンテキストメニューからコードの表示を選択してください。表示されたMicrosoft Visual Basic for Applicationsウィンドウで、以下のコードを空のモジュールウィンドウにコピー&ペーストします(下記スクリーンショット参照)。

VBA コード:列内のセル値が特定のセルと比較して大きいか小さい場合にメッセージボックスをポップアップする

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
Dim xC As String
Dim xWSName As String
Dim xA As String
xC = "D:D"
xWSName = "Sheet1"
xA = "A1"
    If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
    If IsEmpty(Target) Then Exit Sub
    xNum = (Sheets(xWSName).Range(xA).Value)
    If (Target.Value) > (Sheets(xWSName).Range(xA).Value) Then
        MsgBox Prompt:="The entered number is greater than cell A1, please enter again! ", Title:="Kutools for Excel"
    End If
End Sub

:上記コードにおいて、Sheet1は使用するワークシートを指します。A1は比較対象のセル値、D:Dはセル A1 と比較する列です。

右クリックメニューから「コードの表示」をクリック右向き矢印VBAコードをモジュールに貼り付け

3.その後、コードウィンドウを保存して閉じます。これ以降、列 D に100 より大きい数値を入力すると、メッセージボックスがポップアップします(下記スクリーンショット参照)。

セルの値が特定の値より大きいまたは小さい場合にメッセージボックスを表示



セル内の値が他のセルより大きいか小さい場合にメッセージボックスをポップアップする

セルの値が他のセルよりも大きいか小さい場合にメッセージボックスを表示したい場合は、以下のコードをご利用ください。

1.使用したいワークシートに移動します。

2.シート見出しを右クリックし、コンテキストメニューからコードの表示を選択します。表示されたMicrosoft Visual Basic for Applicationsウィンドウに、以下のコードを空のモジュールウィンドウにコピー&ペーストしてください(下記スクリーンショット参照)。

VBA コード:セル値が他のセルより大きいか小さい場合にメッセージボックスをポップアップする

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error GoTo ExitSub
Dim One As Long
Dim Two As Long
One = Range("A1").Value
Two = Range("D1").Value
If Not (Application.Intersect(Range("A1:D1"), Target) Is Nothing) Then
If (One < Two) Then
MsgBox "The value in cell D1 cann't be greater than cell A1!", vbInformation, "Kutools for Excel"
End If
End If
ExitSub:
End Sub

:上記のコードでは、A1およびD1が比較対象の2 つのセルです。

3.その後、コードウィンドウを保存して閉じます。セル A1 の値より小さい値を入力すると、以下のようにメッセージボックスがポップアップします(下記スクリーンショット参照)。

セルの値が他のセルの値より大きいまたは小さい場合にメッセージボックスを表示


関連するポップアップメッセージボックスの記事をさらに読む:

  • Excel ファイルを開く際にポップアップメッセージボックスを作成する
  • 特定のワークブックを開いた際に、最初に何をすべきかを常にリマインドするメッセージボックスを表示したい場合があります。これにより、日々の業務で最も重要な作業を見逃す心配がなくなります。本記事では、Excel ファイルを開く際にポップアップメッセージボックスを表示する方法をご紹介します。
  • Excel でマクロを実行する前に「はい/いいえ」メッセージボックスを作成する
  • Excel では、F5 キーを押すか、Microsoft Visual Basic for Applications ウィンドウの[実行]ボタンをクリックすることで、マクロを直接起動できます。ただし、ユーザーにマクロの実行を確認するメッセージボックスを表示したい場合もあるでしょう。「はい」を選択すればコードの実行を継続し、「いいえ」を選択すれば実行を中止します。本記事では、Excel でマクロを実行する前に「はい/いいえ」メッセージボックスを表示する方法をご紹介します。
  • 一定時間後に自動的に閉じるメッセージボックス用タイマーを作成する
  • Excel ワークブックを使用中に問題を解決する際、VBA スクリプトを頻繁に活用することがあります。スクリプトの実行中にメッセージボックスが表示されることもありますが、特定のメッセージボックスについては手動で閉じるのではなく、一定時間が経過後に自動的に閉じたい場合もあるでしょう。本記事では、Excel で一定時間後にメッセージボックスを自動的に閉じるタイマーの作成方法をご紹介します。

  • スーパー数式バー(複数行のテキストや数式を簡単に編集可能);リーディングレイアウト(多数のセルを簡単に読み書き可能);フィルタリング範囲に貼り付け
  • 結合セル/行/列とデータ保持;セルの分割コンテンツ;重複行を結合して合計/平均を計算…重複の入力を防止セル;範囲を比較
  • 重複または一意の行を選択空白行を選択(すべてのセルが空);スーパー検索とあいまい検索多数のワークブック内で実行;ランダム選択…
  • 正確にコピー複数セルを数式参照を変更せずに移動;複数シートへの参照を自動作成箇条書きの挿入、チェックボックスなど…
  • お気に入りの数式を保存して素早く挿入、範囲、チャート、画像;セルの暗号化パスワード付きで保護;メーリングリストの作成メール送信など…
  • テキストの抽出、テキストの追加、特定の位置の文字を削除、スペースを削除;データページ統計を作成・印刷;セルの内容とコメントを相互変換
  • スーパーフィルター(フィルタースキームを保存し、他のシートに適用可能);高度なソート月/週/日、頻度などでグループ化;特殊フィルタ太字、イタリック体などで強調表示…
  • ワークブックとワークシートを統合;テーブルのマージをキーカラムに基づいてマージ;データの分割を複数のシートに分割xls、xlsx、PDF を一括変換
  • PivotTable を以下でグループ化:週番号、曜日など…ロック解除済みセルと選択範囲をロックを異なる色で表示;数式/名前を持つセルをハイライト表示
kte tab 201905
  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効化。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 生産性が50%向上し、毎日数百回のマウスクリックを削減できます!
officetab bottom