見出し画像

ExcelVBAで数式が入っている空白行と空白行を削除する

この記事では当方が実際にご相談いただいた内容をまとめております。
数式が入っている空白行と空白行を削除したいという方向けの記事です。

ExcelVBAで数式が入っている空白行と空白行を削除する方法

「数式があっても""で空白になっているセルの空白行を自動で削除したい。」とご相談いただきました。特定の操作を自動化する場合はExcelの機能や関数ではできません。操作を自動化する場合はExcelVBAを使用します。ExcelVBAで自動化すると手作業より断然早いです。
「ExcelVBAで選択したシートのみのデータを1つのシートにまとめる」のブログ記事の続きです。

数式が入っている空白行と空白行を削除するコードの作成

画像1


「開発」タブをクリック
「Visual Basic」をクリック
「数式が入っている空白行と空白行を削除する」コードの入力

数式が入っている空白行と空白行を削除するコードの解説

まずは数式が入っている空白行と空白行を削除する際にどんな処理が必要かを考えてみましょう。
今回のコードで必要な処理は主に下記2つです。

データの最終行から開始行まで繰り返し
空白または数式が入っていても空白のとき行を削除する

※コード作成になれるまでは必ず紙に書き出して考えるようにしましょう!

数式が入っている空白行と空白行を削除するモジュールの呼び出し

選択したシートのデータを1つのシートにまとめる処理と空白行を削除する処理は分けます。
一連の処理をまとめてしまったときの問題点としてはコードが長くなりすぎて見づらいということです。コードを見やすくして機能追加や修正しやすくするためには処理ごとで分けるといいです。コードが見やすくなり、どこでプログラムが落ちているかがすぐに特定しやすいです。

モジュールの呼び出し方は下記です。
Call モジュール名

わずか1行で別モジュールを呼び出して実行できます。
処理が長くなる場合は処理ごとでモジュールを分けるように心がけましょう。

数式が入っている空白行と空白行を削除するコードの実行

手順については「【ExcelVBA】特定のセルが見えるようにスクロールさせる」の記事の「ショートカットキーでマクロを実行する」を参照ください。

結論(まとめ)

「ExcelVBAで数式が入っている空白行と空白行を削除する方法」を解説しました。

数式が入っている空白行と空白行を削除するコードの作成
数式が入っている空白行と空白行を削除するモジュールの呼び出し
数式が入っている空白行と空白行を削除するコードの実行

「森山式次世代メディア活用法 メール講座」というメルマガを発行しています。これからのWEB集客術を学んでみませんか?

よろしければサポートお願いいたします! いただいたサポートはITプロデューサーとしての活動費に使わせていただきます!