プロが教えるわが家の防犯対策術!

セル色付きの下の行から最後の行までの全データクリアしたいですが、データの量が多いので、できればループ使わないで、一括削除したいです、どなた教えて頂けませんか?

「セル色なしの行一括削除」の質問画像

A 回答 (3件)

LOOPとあるので、VBAですか?そうなら以下



Sub WK()
Dim Cnt1 As Long
Dim END行 As Long

END行 = ActiveSheet.Range("A65536").End(xlUp).Row

For Cnt1 = 2 To END行
If ActiveSheet.Range("B" & Cnt1).Interior.ColorIndex = xlNone Then
ActiveSheet.Range(Cnt1 & ":" & END行).Delete
GoTo N
End If

Next Cnt1

N: Application.StatusBar = False
End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
勉強になりました。ありがとうございました。

お礼日時:2016/06/20 09:45

それを VBA にするとこんな感じ。


Range(Selection, Selection.End(xlDown)).EntireRow.Delete

このコードも #1 の方法も、基点である「色が透明な一番上のセル」を探すことはしていない。
単純に 「今選択しているセルの行から最終行までを削除する」というだけなので、余計な行まで削除してしまう可能性はある。
    • good
    • 0
この回答へのお礼

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

お礼日時:2016/06/20 09:43

1. 色なしが始まる行のセルを選択する。

(質問者のサンプルで言えば B9)

2. [Shift] キーを押したまま、[End] キーをポンと叩き、その後 [↓] キーをポンと叩く。(この間ずっと Shift を押しっぱなし)
するとサンプルで言えば B9 から B18 まで選択された状態になる。

3. その状態で次は [Shift] キーを押したまま [スペース] キーを押す。
今度は 9行目から 18行目までの行全体を選択した状態になる。

4. 選択されている範囲内の任意の場所で右クリックし、[削除] コマンドを選択する。


[End]+[↓] は値が入っていないセルの手前で止まってしまうというところに注意が必要。
なのでサンプルで言えば A列のように、「必ず値が入っている」 という列で行ったほうが良い。

あと、[Shift]+[スペース] を行うときは日本語入力モードが OFF の状態じゃないとうまくいかない。
    • good
    • 0
この回答へのお礼

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

お礼日時:2016/06/20 09:43

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A