Excel 2007 で、特定の値を持つセルがあるかどうかに基づいて行を自動的に削除したいと考えています。Google で検索しましたが、以前のバージョンの Excel の VBA スクリプトに関する古い情報しか見つからず、これまでのところすべて機能しません。これを行う方法について、SuperUser レベルの説明を求めています。
答え1
このマクロは、「fri」値を持つセルを含む行を削除し、セルを上に移動します。コード内の「FRI」を検索したい値に変更するだけです。また、値の入力を求めるように変更したり、別のセルの値を条件として使用したりすることもできます。
Sub DeleteThis()
For Each Rng In Selection.Rows
If (Application.WorksheetFunction.CountIf(Rng, "fri") > 0) Then
Rng.Delete Shift:=xlUp
End If
Next Rng
End Sub
使用方法:データ範囲を選択し、マクロを実行します。
サンプル:
前:
後:
非VBA:Excel の高度なフィルターを使用して、特定の条件を満たす行を選択できます。ただし、シートの領域といくつかの追加手順が必要になる場合があります。