
指定した範囲で、条件付き書式を使って赤くしたセルをVBAで削除して上方向にシフトさせたいのですが、
ネットに落ちている情報などを頼りに作ったものの正常に動作しません。
修正していただけると幸いです、初心者の為できればどの部分が間違っていたかお教え頂けたらと思います。
ご協力よろしくお願いいたします。
SUb 赤消す()
Dim Rng As Range
For Each Rng In Range("A1:H30").Select
If Rng.interior.ColorIndex=3 Then Rng.Slection.Delete:=xlup
Next
End Sub
No.3ベストアンサー
- 回答日時:
こんにちは!
条件付き書式で色付けさえれている場合、お示しのコードでは反応しないと思います。
(手動で色付けであれば大丈夫)
Excel2010以降をお使いだと条件付き書式にも対応できる「DisplayFormatオブジェクト」があります。
一例です。
Sub Sample1()
Dim c As Range, myRng As Range
For Each c In Range("A1:H30")
If c.DisplayFormat.Interior.ColorIndex = 3 Then
If myRng Is Nothing Then
Set myRng = c
Else
Set myRng = Union(myRng, c)
End If
End If
Next c
If Not myRng Is Nothing Then '//←念のため//
myRng.Delete shift:=xlUp
End If
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.2
- 回答日時:
今のExcelは楽に出来るのですね。
お古だと『セルの塗りつぶしによる色の判定』と『条件付き書式によって塗られた色の判定』は違うものでした。
条件付き書式の結果を判定させる場合は、その条件が成立する『値・数式』などで判定してましたね。
なので『目的のセルの色』は判定条件に入らず面倒くさいものでした。
確か昔そんな質問を別サイトで見かけたのですが、10年も前なので見つからなかった・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで色の付いているセルの行削除
Excel(エクセル)
-
色つき行の一括削除は?
Word(ワード)
-
【Excel】色が付いているセルの値をクリアしたい
Excel(エクセル)
-
-
4
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
5
セル色なしの行一括削除
その他(プログラミング・Web制作)
-
6
フォントの色を指定して削除出来ないでしょうか?
Excel(エクセル)
-
7
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
10
VBAで特定の条件のセルのみクリアにする
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
エクセルで特定の文字が入ってる列を削除方法
Excel(エクセル)
-
13
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
14
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
15
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
16
VBAで重複するデータがあれば1個だけ残して他の重複セルを"(空白)にしたいのですが
Excel(エクセル)
-
17
【Excel VBA】 条件付き書式の結果、グレーアウトされたセルの値を削除したい
Excel(エクセル)
-
18
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
19
i=cells(Rows.Count, 1)とi=cells(Rows.Count, 2)の違い
Visual Basic(VBA)
-
20
エクセルである行以下全部を削除する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
【Excel VBA】マクロで書き込ん...
-
VBA にて、条件付き書式で背景...
-
Excelで空白セル直前のセルデー...
-
【VBA】【ユーザーフォーム_Lis...
-
Excel VBA IF文がうまく動作し...
-
DataGridViewでグリッド内に線...
-
EXCEL VBA 文中の書式ごと複写...
-
VBAでの背景色分岐後の結合セル...
-
ListBoxを選択したデータ編集② ...
-
VBAマクロ実行時エラーの修正に...
-
エクセルのカーソルを非表示に...
-
昨日、質問した件『VBA にて、...
-
特定の色のついたセルを削除
-
マウスオーバーでセル内の背景...
-
Excel 範囲指定スクショについ...
-
DataGridViewのフォーカス遷移...
-
CSVファイルを読み込んだらセル...
-
Excel VBA 同じ処理を複数回行...
-
エクセルVBA ダブルクリックし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
エクセル、マクロで番号を読込...
-
CellEnterイベント仕様について
-
C# DataGridViewで複数選択した...
-
【ExcelVBA】値を変更しながら...
-
EXCEL VBA 文中の書式ごと複写...
-
マクロ初心者です。 マクロで範...
-
【Excel VBA】一番右端セルまで...
-
【Excel VBA】マクロで書き込ん...
-
VBA:日付を配列に入れ別セルに...
-
DataGridViewでグリッド内に線...
-
DataGridViewのフォーカス遷移...
おすすめ情報