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

Excelで条件に基づいてセルの内容をクリアするにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

場合によっては、Excelで条件に基づいてセルの内容をクリアする必要があるかもしれません。たとえば、特定の値が含まれている場合にセルの内容をクリアしたり、別の列に空白セルがある場合にセルの内容をクリアしたり、特定の背景色を持つセルの内容をクリアしたりすることがあります。この記事では、これらのタスクを迅速かつ簡単に解決するためのいくつかの方法を紹介します。

VBAコードを使用してセルの値に基づいてセルの内容をクリアする

VBAコードを使用して、特定の値より大きいか小さい場合に行全体をクリアする

便利な機能を使用して、セルの値に基づいてセルまたは行の内容をクリアする

VBAコードを使用して、別のセルが空白の場合に行全体をクリアする

VBAコードを使用して、背景色に基づいてセルの内容をクリアする


VBAコードを使用して、セルの値に基づいてセルの内容をクリアする

例えば、以下のデータ範囲があるとします。ここで、「Hoodie」という文字列が入っているセルの内容をクリアしたい場合、次のVBAコードが役立ちます。

sample data

1. ALT + F11キーを押したままにし、Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:セルが特定の値に等しい場合にセルの内容をクリアする

Sub ClearContents()
'Updateby ExtendOffice
 Dim xRng As Range
 Dim xCell As Range
 Dim xText As String
 Set xRng = Application.Range("A2:A12")
 xText = "Hoodie" 'Change this text to your own
 For Each xCell In xRng
 If xCell.Value = xText Then
 xCell.clearContents
 End If
 Next xCell
End Sub
注意: 上記のコードでは、A2:A12はセルの内容をクリアしたいデータ範囲であり、「Hoodie」はクリアしたい特定の値です。必要に応じてこれらを変更してください。

3. その後、F5キーを押してこのコードを実行すると、「Hoodie」という文字列が含まれるすべてのセルが一度にクリアされます。スクリーンショットをご覧ください:

vba code to clear cell contents based on cell value

a screenshot of kutools for excel ai

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

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

VBAコードを使用して、特定の値より大きいか小さい場合に行全体をクリアする

例えば、以下のようなデータ範囲があり、列Dの値が300より大きいまたは小さい場合に行全体の内容をクリアしたいとします。ここでは、VBAコードを作成してこれを完了します。

sample data

1. ALT + F11キーを押したままにし、Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. 「 挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:セルの値が特定の値より大きいか小さい場合に行全体をクリアする

Sub ClearRowInValue()
'Updateby ExtendOffice
Dim xRg As Range
Dim xStrAddress As String
Dim xStrValue As Integer
Dim xCell As Range
Dim xRowRg As Range
Dim xF As Integer
Dim xBol As Boolean
xStrAddress = "D2:D12" 'Change cell range
xStrValue = 300 'change the value
Set xRg = Range(xStrAddress)
For xF = xRg.Rows.Count To 1 Step -1
    Set xRowRg = xRg.Rows.Item(xF)
    xBol = False
    For Each xCell In xRowRg.Cells
        If Application.IsNumber(xCell.Value) Then
        If xCell.Value > xStrValue Then
        xBol = True
        Exit For
        End If
        End If
    Next
    If xBol Then
        xRowRg.EntireRow.clearContents
    End If
Next
End Sub
注意: 上記のコードでは、D2:D12は行をクリアする基準となる特定の値を含むデータ範囲です。300は特定の値です。スクリプト内のIf xCell.Value > xStrValue Then>文字は「より大きい」を意味し、必要に応じて<文字に変更できます。

3. 次に、F5キーを押してこのコードを実行すると、列Dの値が300より大きい場合、すべての行の内容がクリアされます。スクリーンショットをご覧ください:

vba code to clear entire rows if value is greater or less than a specific value


便利な機能を使用して、セルの値に基づいてセルまたは行の内容をクリアする

Kutools for Excelを持っている場合、その「特定のセルを選択する」機能を使用して、特定の値に基づいてセルや行を選択し、一括でセルの内容を削除できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelをインストール後、次のように操作してください:

1. セルまたは行の内容をクリアしたいデータ範囲を選択し、「Kutools」>「選択」>「特定のセルを選択」をクリックします。スクリーンショットをご覧ください:

click Kutools > Select > Select Specific Cells

2. 開かれた「特定のセルを選択」ダイアログボックスで、次の操作を行います:

  • 選択したい「セル」または「行全体」をクリックします;
  • 指定タイプ」セクションで必要な条件を指定します。ここでは、列Dの値が300より大きい行を選択したいと考えています。

specify the options in the dialog box

3. 「 OK」ボタンをクリックすると、値が300より大きいすべての行が選択されます。これで、キーボードの「Delete」キーを押すだけでセルの内容を削除できます。スクリーンショットをご覧ください:

all the rows with the value greater than specific value are selected, then delete the contents

ヒント: 他にも多くの条件がありますので、下のスクリーンショットにあるようにダイアログボックスから独自の条件を指定してください:
many other criteria in the dialog box

VBAコードを使用して、空白セルを含む場合に行データをクリアする

この場合、データ範囲内のセルに空白が含まれている場合、下のスクリーンショットに示すように範囲から行データをクリアしたいと思います。

Clear rows data in a range if contains blank cell

このタスクを完了するために、次のVBAコードを適用してください:

1. ALT + F11キーを押したままにし、 Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:空白セルを含む場合に行データをクリアする

Sub ClearContents()
'Updateby ExtendOffice
Dim xcell As Range
Set xrng = Application.Range("A2:D12")
For Each xcell In xrng
If xcell.Value = "" Then
Intersect(xcell.EntireRow, xrng).ClearContents
End If
Next
End Sub
注意: 上記のコードでは、A2:D12は空白セルを含むデータ範囲です。

3. その後、F5キーを押してこのコードを実行すると、空白セルを含む行データが指定された範囲で一度にクリアされます。


VBAコードを使用して、背景色に基づいてセルの内容をクリアする

特定の背景色で塗りつぶされたセルをクリアするには、次のVBAコードを使用できます。

1. ALT + F11キーを押したままにし、Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. 「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:背景色に基づいてセルの内容をクリアする

Sub Clearcontents()
'Updateby ExtendOffice
Dim xcell As Range
Dim xrng As Range
Set xrng = Application.Range("A2:D12")
    For Each xcell In xrng
        If xcell.Interior.Color = RGB(252, 228, 214) Then
            xcell.Clearcontents
        End If
    Next
End Sub
注意: 上記のコードでは、A2:D12は使用したいデータ範囲であり、RGB(252, 228, 214)はクリアしたい特定の背景色です。Paintプログラムを使用してコンピュータ上の背景色のRGBモードを抽出できます。

3. そして、 F5キーを押してこのコードを実行すると、指定された背景色を持つセルの内容がすぐにクリアされます。スクリーンショットをご覧ください:

vba code to clear cell contents based on background color


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