dポイントプレゼントキャンペーン実施中!

エクセルのマクロを教えてください

シート内の背景色が赤のセルだけを残して
他のセルは削除したいです。
背景色が赤いセルは上に詰めます。
但し1行目の見出しは残します。
宜しくお願いします。

質問者からの補足コメント

  • すみません。
    赤いセルだけを残すマクロを教えてください。

    先程の、回答者様のマクロは赤いセルが削除されてしまいました。

      補足日時:2023/07/12 16:39

A 回答 (3件)

但し1行目の見出しは残します。


For r = maxRow To 2 Step -1
    • good
    • 0
この回答へのお礼

ありがとう

承知いたしました
ありがとうございました

お礼日時:2023/07/12 17:50

ごめんなさい


読み違えていました
Sub sample()
Dim maxRow As Long, maxColm As Long
Dim r As Long, c As Long
With ActiveSheet
With .UsedRange
maxRow = .Rows(.Rows.Count).Row
maxColm = .Columns(.Columns.Count).Column
End With
For r = maxRow To 1 Step -1
For c = 1 To maxColm
If Cells(r, c).DisplayFormat.Interior.Color <> vbRed Then
Cells(r, c).Delete Shift:=xlUp
End If
Next
Next
End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2023/07/12 17:50

セル XFD1048576 の背景色が赤いなんてことはありますか?


ある場合 スタックの可能性があります
そんな事はない場合(処理範囲が広くない場合)
Dim cell As Range
For Each cell In ActiveSheet.UsedRange
If cell.DisplayFormat.Interior.Color = vbRed Then
cell.Delete Shift:=xlUp
End If
Next
こんな感じで出来るかな
*見えている色で削除しています。
同じセルで 見えない色 背景色赤で 条件付き書式設定がTrueで黄色に見える場合は削除されません)
    • good
    • 0
この回答へのお礼

早々にありがとうございました。

お礼日時:2023/07/12 13:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!