
指定した範囲で、条件付き書式を使って赤くしたセルを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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Excel(エクセル) VBA 1 2023/04/27 13:37
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで色の付いているセルの行削除
Excel(エクセル)
-
色つき行の一括削除は?
Word(ワード)
-
【Excel】色が付いているセルの値をクリアしたい
Excel(エクセル)
-
-
4
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
5
セル色なしの行一括削除
その他(プログラミング・Web制作)
-
6
フォントの色を指定して削除出来ないでしょうか?
Excel(エクセル)
-
7
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
8
VBAで特定の条件のセルのみクリアにする
Excel(エクセル)
-
9
【Excel VBA】 条件付き書式の結果、グレーアウトされたセルの値を削除したい
Excel(エクセル)
-
10
フォントの大きさ
Visual Basic(VBA)
-
11
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
12
VBAで指定範囲内の空白セルを左詰めで一括削除したいのですが
Visual Basic(VBA)
-
13
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
14
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
15
excelのデータで色つき行の抽出方について教えてください
Excel(エクセル)
-
16
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
17
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
18
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
19
マクロのデータ削除
Excel(エクセル)
-
20
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excel UserForm の表示位置
-
C# DataGridViewで複数選択した...
-
特定の色のついたセルを削除
-
【VBA】【ユーザーフォーム_Lis...
-
エクセルVBA 配列からセルに「...
-
DataGridViewのフォーカス遷移...
-
セルの半透明着色処理
-
複数指定セルの可視セルのみを...
-
【Excel VBA】マクロで書き込ん...
-
Excel VBA IF文がうまく動作し...
-
【ExcelVBA】値を変更しながら...
-
Excelで空白セル直前のセルデー...
-
VBA:日付を配列に入れ別セルに...
-
Excel 範囲指定スクショについ...
-
エクセルのカーソルを非表示に...
-
入力規則のリスト選択
-
CellEnterイベント仕様について
-
DataGridViewでグリッド内に線...
-
【VBA】写真の貼り付けコードが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
Excel UserForm の表示位置
-
エクセルVBA 配列からセルに「...
-
VBA:日付を配列に入れ別セルに...
-
エクセル、マクロで番号を読込...
-
【Excel VBA】一番右端セルまで...
-
【VBA】写真の貼り付けコードが...
-
【ExcelVBA】値を変更しながら...
-
【VBA】【ユーザーフォーム_Lis...
-
DataGridViewのフォーカス遷移...
-
EXCEL VBA 文中の書式ごと複写...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
QRコード作成マクロについて
-
C# DataGridViewで複数選択した...
-
Excel 範囲指定スクショについ...
-
エクセル VBA ボタンをクリック...
-
DataGridViewでグリッド内に線...
おすすめ情報