エクセルバージョン
マイクロソフト365
本日はエクセルVBAで複数空白セルを削除したデータの作成方法について解説していきたいと思います。
VBAで飛び飛び空白の作成は下記の記事で解説しています。
簡単なのでサクッといきますね~
それでは行ってみましょう!
Menu
手順
手順は2つのみです。
作成手順
・データを範囲選択します。
・ジャンプ機能(Ctrl+G)の空白選択を利用し削除します。
VBAサンプル
今回は下記のような空白データを使用します。
【空白データ】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Option Explicit Const COL As String = "A" '列を指定 Const STARTROW As Integer = 1 '行頭番号を指定 Sub 空白セルを削除() Dim rowEnd As Integer 'データの最終行番号取得してからデータ範囲を選択 rowEnd = Range(COL & Rows.Count).End(xlUp).Row '①データ最終行番号取得 Range(Cells(STARTROW, COL), Cells(rowEnd, COL)).Select '②データ範囲選択 '空白セルを選択後、削除上詰め Selection.SpecialCells(xlCellTypeBlanks).Select '③空白セル選択 Selection.Delete Shift:=xlUp '④削除上詰め End Sub |
【解説】
➀データの最終行番号を取得します。
➁データを選択します。
➂空白セルを選択します。
➃削除上詰めで完成です。
【完成】
一瞬で空白を削除します(*^^)v
まとめ
このような複数の空白削除はエクセルに元々あるジャンプ機能をマクロの記録で取得してから、範囲指定などの細かい部分だけVBAで編集して使用したほうが楽チンだし早いです。
ですのでVBAで範囲選択の指定がきちんとできるかが重要になってきます(★‿★)
以上です。
複数の空白セルを非表示
複数の空白セルを削除
【関数】複数の空白セルを削除(SMALLとINDIRECT)
複数の空白セルに一括入力
複数の空白行
空白セルの個数
セルの中の空白
【VBA】セル内の文字列の空白を削除(Trim,RTrim.LTrim)