Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Excel マクロ(VBA) 行削除】条件を満たした行を削除する方法(For~Next文を使用)

 


ExcelVBAにて、表などを1行ずつ見ていって、ある条件を満たした行だけ行削除したいような場合があると思います。

そのような場合の方法についての説明になります。

 

 

 

1.条件を満たした行を削除する方法

 

通常、For~Next文で処理をする場合、1行目から最後の行までというように記述する場合が多いと思います。

 

ただし、行削除の場合には、そうしてしまうと削除するたびに現在処理している行や最終行の行番号がずれてしまい大変な処理になってしまいます。

 

そのようになってしまう場合には、逆に、最終行から先頭行に向かってFor~Next文を組んで処理をしてあげればいいということがわかりました。

 

たとえば、以下のような処理になります。

 

    '1行目から20行目まで1列目が空白の場合は行削除する。
    For i = 20 To 1 Step -1
        If Cells(i, 1) = "" Then
            Rows(i).Delete
        End If
    Next i

 

この例の場合には。20行目から1行目まで1行ずつさかのぼって1列目が空白の場合には行削除するというような内容になります。

 

このようにすれば、行削除をしてもこれから処理をしていく行番号には影響がなく、行削除の影響は受けないので処理のわずらわしさはなくなります。

 

はじめて知ったときは目からうろこでした。

 

ちなみに

 

Rows(1).Delete

 

のように、削除にDeleteを使用した場合は行が削除されて上に移動しますが、

 

Rows(1).Clear

 

のようにClearを使用すると、行の中身の値や書式だけが削除されて空白の行となるだけでそれ以降の行が上に移動することはありません。

 

 

 

関連記事:

【Excel】の「開発」タブを表示させる方法 - Django Girls and Boys 備忘録

 

Microsoft EdgeでのInternet Explorerモード設定手順 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリストの設定方法 - Django Girls and Boys 備忘録

 

【Excel】ボタンの表示文字を改行する方法 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリスト 設定方法、元データ追加方法、元データ変更方法 - Django Girls and Boys 備忘録

 

はてなブログの見たままモードの記事へのプログラムコード挿入方法 - Django Girls and Boys 備忘録

 

Google Chromeの右下の迷惑な広告、ウイルス侵入メッセージを消す方法(削除方法) - Django Girls and Boys 備忘録

 

【Googleサーチコンソール Googleアナリティクスの登録方法】サイト作成後の分析、活用に欠かせない登録 - Django Girls and Boys 備忘録

 

【Excel 名前の定義】「名前"○○○"は既に存在します。この名前にする・・・」のメッセージ表示を解決する方法 - Django Girls and Boys 備忘録

 

【Excel マクロ(VBA) 行削除】条件を満たした行を削除する方法(For~Next文を使用) - Django Girls and Boys 備忘録

 

【Excel マクロ(VBA)】最大行番号、最大列番号を取得する方法 - Django Girls and Boys 備忘録

 

【ExcelマクロからのI.E.操作】I.E.のセキュリティに絡むエラー(オートメーションエラー)発生時の対応方法 - Django Girls and Boys 備忘録

 

【Python Excel】ExcelからのPython実行ファイル(アプリケーションファイル)起動方法 - Django Girls and Boys 備忘録

 

【Excel VBA】シート削除時などに確認メッセージを表示しない方法 - Django Girls and Boys 備忘録

 

【Excel】数式の計算方法について、計算方法の自動/手動変更方法 - Django Girls and Boys 備忘録