#4 Excel VBAで空白行を削除し、詰めていく
個人研究にプログラミングを取り入れよう!
ということで、今日はExcelの空白行を削除し詰めていく作業を自動化するVBAプログラムを作成してみます。
やりたいこと
平成27年度兵庫県産業連関表 部門分類表の結合小分類(185部門)の空白行を削除し、詰めていく
以下が処理対象の表。

赤枠で囲った空白行を削除し、詰めていって185部門の表を作成することが今回の目標です。
ひとまず、A〜F列は非表示にします。
そして、以下のようなコードを書いてみました。
Sub 空白行の削除()
Dim i As Long
Dim toprow As Long
Dim bottomrow As Long
'開始する行
toprow = 39
'終了する行
bottomrow = 493
For i = bottomrow To toprow Step -1
If ActiveSheet.Cells(i, 7) = "" Then
'G列が空白なら行削除
Application.Rows(i).Delete
End If
Next
End Sub
実行すると…

Excellent!
目標物が完成しました〜。
パチパチパチ♪
自動化・省力化を徹底する
修士課程時代は、上記の作業を自分の手で一つ一つ地道にやっていました。
当時は働いていなくて学業に専念できたがゆえに可能だったと思いますが、それでも「VBAの存在を知っていれば…」と感じてしまいますね。
今は社会人となり、学生時代の頃のように、多くの時間を研究に割く余裕はないので、自動化・省力化できるところはどんどんそうしていこうと思います!
Excel VBAやPythonを用いたプログラミングは絶賛学習中なので、最初は手作業でやった方が早いかもしれませんが^^;

