

VBAで色の付いているセルの行を削除することは出来ないでしょうか?
量が多すぎて一つ一つ削除すのは大変で間違えて削除してしまいそうなので・・・
- 文字または数字
■ 色の付いたセル(赤)
A B C D E F・・・
1- - - - - -
2- - - - - -
3- - - ■ - -
4- - ■ - - -
5- - ■ - - -
6- - - - - -
7- - - ■ - -
8- - ■ - - -
9- - ■ - - -
10- - - - - -
↓
A B C D E F・・・
1- - - - - -
2- - - - - -
6- - - - - -
10- - - - - -
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
No1です。
いちいち行や列数をいれなくともいいように変えました。
Sub test2()
x = ActiveCell.SpecialCells(xlLastCell).Row
y = ActiveCell.SpecialCells(xlLastCell).Column
For i = x To 1 Step -1
For n = 1 To y
If Cells(i, n).Interior.ColorIndex <> xlNone Then Rows(i).Delete
Next n
Next i
End Sub
No.4
- 回答日時:
Public Sub 色の付いたセルのある行を消す()
Dim linePos, i
ActiveCell.SpecialCells(xlLastCell).Select
linePos = ActiveCell.Row
For i = linePos To 1 Step -1
If colored(Range(Rows(i).Address)) Then
Rows(i).Delete Shift:=xlUp
End If
Next
End Sub
'指定した範囲に色の付いたセルがあるか?
Function colored(r As Range) As Boolean
Dim x As Range
For Each x In r
If x.Interior.Color <> RGB(255, 255, 255) Then '白(色がついてない、標準の状態)でない
colored = True
Exit Function
End If
colored = False
Next
End Function
No.2
- 回答日時:
これでどうでしょうか。
シートモジュールを使用します(Sheet1等をダブルクリックして書きます)。
△と▲は、使っている色のインデックスを取得するために、見本として、色のついているどれかのセルの行番号と列番号を入れてください。
☆と★は、処理の対象とする範囲の、行の数と列の数を入れてください。
Sub 行削除()
Dim 行, 行数 As Long
Dim 列, 列数 As Integer
Dim 色 As Integer
色 = Cells(△, ▲).Interior.ColorIndex
行数 = ☆
列数 = ★
行 = 1
Do While 行 <= 行数
列 = 1
Do While 列 <= 列数
If Cells(行, 列).Interior.ColorIndex = 色 Then
Rows(行).Delete
列 = 1
行数 = 行数 - 1
Else
列 = 列 + 1
End If
Loop
行 = 行 + 1
Loop
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
特定の色のついたセルを削除
Visual Basic(VBA)
-
色つき行の一括削除は?
Word(ワード)
-
セル色なしの行一括削除
その他(プログラミング・Web制作)
-
-
4
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
5
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
6
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
7
【Excel VBA】 条件付き書式の結果、グレーアウトされたセルの値を削除したい
Excel(エクセル)
-
8
【Excel】色が付いているセルの値をクリアしたい
Excel(エクセル)
-
9
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
10
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
13
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
14
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
15
フォントの色を指定して削除出来ないでしょうか?
Excel(エクセル)
-
16
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
17
VBAで複数の数式セルを最終行までコピーするには?
Excel(エクセル)
-
18
VBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗
Access(アクセス)
-
19
VBAで変数に関数式の結果をセットする場合
Excel(エクセル)
-
20
エクセル マクロで数値が変った時行挿入できますか
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
エクセルで特定の文字列が入っ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル 上下で列幅を変えるには
-
エクセルのセルに指定画像(.jpg...
-
エクセルVBA 最終行を選んで並...
-
excel 小さすぎて見えないセル...
-
エクセル マクロで数値が変っ...
-
結合されたセルをプルダウンの...
-
Excel グラフのプロットからデ...
-
Excel:列中に特定の文字列を表...
-
VBAで色の付いているセルの行削除
-
excelのデータで色つき行の抽出...
-
完全一致したら代入するマクロ...
-
excel 同じ番号のデーターを横...
-
A1に入力された文字列と同じ文...
-
エクセル マクロ オートフィ...
-
アクティブになっている行をマ...
-
AのセルとB行を比較して、一致...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
Excelのフィルター後の一番上の...
-
エクセル 上下で列幅を変えるには
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
excel 小さすぎて見えないセル...
-
A1に入力された文字列と同じ文...
-
EXCELで最後の行を固定
-
Excel ウインドウ枠の固定をす...
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
連続データが入った行の一番右...
-
エクセル2016で時間を入力して...
-
チェックボックスをクリックし...
おすすめ情報