セルを削除するには-Excel VBA Tips

Excel VBA Tips集-3

セルを削除するには

Excel VBAでセルを削除するにはDeleteメソッドを利用します。一方、セルそのものは削除せず、「セルにセットされている値のみを削除する」のであれば、ClearContentsメソッドを利用します。

単一のセルを削除したい場合

セルを削除する」という言葉には、「セルそのものを削除する」という意味合いと「セルは削除しないが、セルの中身のデータをクリアする」という意味合いがありますね。

セルそのものを削除するサンプルコード

サンプル1:単純にセルそのものを削除する

もしくはCells(行番号, 列番号).DeleteとしてもOKです。

サンプル2:Cells()を用いてB2セルを削除する

一言にセルを削除すると言っても、「左方向にシフトさせる」のか「上方向にシフトさせる」のかを指定したい場合がありますね。そんなときはDeleteメソッドShiftという引数(ひきすう)を利用します。引数(ひきすう)が何か分からない方は「Excel VBAにおける引数(ひきすう)とは何か」をご参照下さいませ。

DeleteメソッドのShift引数の値一覧
Shift引数の値 意味
xlShiftToLeft 左方向にシフト
xlShiftUp 上方向にシフト

尚、Shift引数が指定されていない場合、Excel側で最適だと判断された方向に自動的シフトします。

サンプル3:セルを削除し左方向にシフトする

セルを削除し左方向にシフトする前の画面

上記画面に対してB3セルを削除し左シフトをした結果

deleteメソッドにおける左シフト実行後のExcel画面

左シフトしたので、「3」がC3セルからB2セルに移動していますね。

セル自体は削除せずセルの値をクリアしたい場合

以下のサンプルコードのようにします。

複数のセルの範囲を削除するには

下記サンプルコードでは、以下の画像の範囲のセル自体を削除しています。

セルの範囲の削除

複数のセルの範囲の値だけをクリアするには

下記サンプルコードでは、以下の画像の範囲のセルの値だけを削除しています。

セルの範囲の削除

関連項目

 

使える!Excel VBA Tips集TOPに戻る

 

[AD]自分のペースでゆったり学ぶ Excel VBA

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA