
指定した範囲で、条件付き書式を使って赤くしたセルを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
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
8
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
9
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
10
エクセルで特定の文字が入ってる列を削除方法
Excel(エクセル)
-
11
IFS関数の場合で、セルが空白の場合は何も表示しないようにする方法
Excel(エクセル)
-
12
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
13
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
14
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
15
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
16
エクセルで指定したセルのどれかに○がはいっていたら○を表示したいです。
その他(コンピューター・テクノロジー)
-
17
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
18
エクセルでマクロにてセル色と文字を他シートのセルへコピーしたい
その他(コンピューター・テクノロジー)
-
19
VBAで特定の条件のセルのみクリアにする
Excel(エクセル)
-
20
エクセル マクロ 貼り付け先が空白でない場合 1行下に貼りつける
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
セルの半透明着色処理
-
【ExcelVBA】値を変更しながら...
-
【Excel VBA】マクロで書き込ん...
-
特定の色のついたセルを削除
-
C# DataGridViewで複数選択した...
-
エクセルVBA 配列からセルに「...
-
下記のマクロの説明(意味)を...
-
Excel VBA でFunctionプロシジ...
-
Excelで空白セル直前のセルデー...
-
エクセルのカーソルを非表示に...
-
【VBA】写真の貼り付けコードが...
-
Rangeの範囲指定限界
-
円弧の描画方法
-
入力規則のリスト選択
-
ユーザフォームを使ってのデー...
-
CellEnterイベント仕様について
-
VBAの質問です! 転記元のセル...
-
MATLABのポップアップメニュー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
特定の色のついたセルを削除
-
C# DataGridViewで複数選択した...
-
【VBA】【ユーザーフォーム_Lis...
-
データグリッドビューの結合セ...
-
【VBA】写真の貼り付けコードが...
-
VBA:日付を配列に入れ別セルに...
-
入力規則のリスト選択
-
セルの半透明着色処理
-
EXCEL VBA 文中の書式ごと複写...
-
Excel VBAでCheckboxの名前を変...
-
【ExcelVBA】値を変更しながら...
-
【Excel VBA】一番右端セルまで...
-
エクセルのカーソルを非表示に...
-
DataGridViewのフォーカス遷移...
-
DataGridViewでグリッド内に線...
-
Excel VBA でFunctionプロシジ...
おすすめ情報