エクセルマクロで、空白セルを左詰め・右詰めにするVBAコードをご紹介します。
動画では実際の動作を確認できます👇
空白セルを左詰め(指定列)
以下のExcelVBAを実行すると、指定列にあるデータについて空白セルを左に詰めます。
Sub 空白を左詰で削除()
Range("A:E").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub
A~E列のデータについて、空白セルを左側に詰めて表示します。
空白セルを左詰め(指定範囲)
以下のExcelVBAを実行すると、特定範囲にあるデータについて空白セルを左に詰めます。
Sub 空白を左詰で削除()
Dim MyRng As Range
Set MyRng = Range("A1:E3")
MyRng.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub
セル範囲[A1:E3] のデータについて、
空白セルを左側に詰めて表示します。
空白セルを右詰め(指定範囲)
以下のExcelVBAを実行すると、指定範囲にあるデータについて空白セルを右に詰めます。
Sub 空白を右詰()
Dim MyList As Variant
Dim i As Long
Dim j As Long
Dim s As Long
'指定範囲内のデータを配列に格納
MyList = ActiveSheet.Range("A1:E7")
'指定の範囲のデータをクリア
ActiveSheet.Range("A1:E7").ClearContents
'二次元配列をループ
For i = 1 To UBound(MyList)
'転記開始列:E列(列番号:5)
s = 5
'逆ループ
For j = 5 To 1 Step -1
'二次元配列のデータが空白じゃなければ
If MyList(i, j) <> "" Then
'配列のデータをセルに転記
Cells(i, s) = MyList(i, j)
'転記開始列を更新
s = s - 1
End If
Next j
Next i
End Sub
セル範囲[A1:E7] のデータについて、
空白セルを右側に詰めて表示します。
この記事がお役に立てれば幸いです。
【エクセルマクロ】シートの追加・削除を自動化:超便利12選
...
「Excelの本当に正しい使い方」
あの人気エクセル講師 田中先生の書籍★
根本から学べるので、一生使える“本物のスキル” が身に付く!
リンク