- ベストアンサー
エクセルで赤文字が入力されている行をまとめて削除したい
エクセル2000を使っています。 B列のいくつかのセルの中に赤色の数値を入力したのですが、 赤色の数値が入っている行がすべていらなくなったので削除したいです。 1行1行選択して削除していくと時間がかかるので、まとめて赤文字の行を複数選択して削除したいです。どうすればよいでしょうか? エクセルははじめたばかりです。。。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#2のka_na_deです。 たびたび、ごめんなさい。 質問には、赤色の数値はB列にあると書いてありましたね。 変更しましたので、前のコードは無視してください。 Sub test() Dim r As Long Application.ScreenUpdating = False For r = Range("B65536").End(xlUp).Row To 1 Step -1 If Cells(r, "B").Font.ColorIndex = 3 Then Rows(r).Delete Next r Application.ScreenUpdating = True End Sub
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
>1行1行選択して削除していくと時間がかかるので マイナスのセルを1発の操作で削除する操作は作られていない。 ーー それでVBAの出番です。 例データ 2 -7 3 4 -3 -6 6 7 -2 -16 8 1 3 -3 ーー コード 標準モジュールに Sub test01() d = Range("A65536").End(xlUp).Row s = "" For i = 1 To d If Cells(i, "A") < 0 Then s = s & Cells(i, "A").Address & "," End If Next i s = Left(s, Len(s) - 1) Range(s).Delete 'Activate End Sub ーーーー 実行結果 2 3 4 6 7 8 1 3
赤色にした数値の 共通点 はありますか? 例えば、0以下の数値 とか A列が“○”だった場合 など、共通点があるなら 『オートフィルタ』を使ってみてはいかがでしょうか? オートフィルタについて↓ http://kokoro.kir.jp/excel/auto-filter.html
- ka_na_de
- ベストアンサー率56% (162/286)
#2です。 訂正します。 誤:Dim r As Integer ↓ 正:Dim r As Long
- ka_na_de
- ベストアンサー率56% (162/286)
その赤色をつけた数字に何か法則があれば、 それを利用してフィルター操作で抽出後に削除できると思います。 しかし、何も法則がないのであれば、エクセルのメニュー操作では、 不可能だと思います。 マクロは全く分からないと思いますが、私も自分の勉強のために 作ってみましたので、参考にしてみてください。 尚、マクロの実行はやり直しが効かないので、大切なデータは、 バックアップ後に試してみてください。 Sub test() Dim c As Integer Dim r As Integer With ActiveSheet.UsedRange For c = 1 To .Cells(.Cells.Count).Column For r = Cells(65536, c).End(xlUp).Row To 1 Step -1 If Cells(r, c).Font.ColorIndex = 3 Then Rows(r).Delete Next r Next c End With End Sub <使い方> 1)赤文字の入ったシートを表示させ、 下のシート名のタブの上で右クリック 2)「コードの表示」をクリック 3)左側のプロジェクトエクスプローラーで、 VBAProjectのの上で右クリック、「挿入」→「標準モジュール」 (プロジェクトエクスプローラーが表示されていなければ、 上部の「表示」メニューから選択表示できます。) 4)右側に上記のマクロを貼り付けます。 実行は、上部の再生マークボタンを押してください。
- ASIMOV
- ベストアンサー率41% (982/2351)
Ctrlキーを押しながら行番号をクリックしていくと、飛び飛びに選択できます 最後にまとめて「削除」で消えます
お礼
データ量が少なければこの方法でよかったのですが、データの量が多いもので。。。 回答ありがとうございました。
お礼
マクロなんて機能はじめて使いました。 教えていただいたとおりに進めていったら出来ました! ありがとうございました。