1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

【VBA入門】セルを削除する方法

【VBA入門】
Pocket

VBAでセルを削除する方法

今回はVBAでセルを削除する方法を解説します。セルに入っているデータだけではなくセルそのものを削除すると、残ったセルが削除されたセルの部分を埋めるように上方向または左方向へシフトするという特徴があります。

単体のセルの削除

RangeまたはCellsで削除する対象のセルを指定し、続けて“.Delete”のコードを入力します。

<削除前>
【VBA入門】セルを削除する方法

<コード>
【VBA入門】セルを削除する方法

指定したセルが削除され、隣のセルが1つずつ移動して削除された部分を埋めています。

複数のセルの削除

Rangeで範囲を指定して削除することもできます。

<削除前>
【VBA入門】セルを削除する方法

<コード>

【VBA入門】セルを削除する方法

指定した範囲のセルが削除され、隣接したセルが削除したセルの分だけシフトしています。

行・列の削除

セルを縦または横方向に1行削除したいという場合下記の様にコードを記述します。

<削除前>
【VBA入門】セルを削除する方法

<コード>
【VBA入門】セルを削除する方法

コード実行後は隣の行が1行丸ごとシフトしています。シートのフォーマットが崩れることが少なく非常に実用的な使い方となります。

セルがシフトする方向の指定

前述のコードではセルの削除後に隣接しているセルがどちら側にシフトするのか曖昧なままです。
業務で使用するシートがVBAを走らせることにより崩れてしまってはその都度修正の手間がかかります。
ここは後々の作業に影響しないようにしっかりと設定しておくようにしましょう。

<シフト方向を指定した削除前の状態>
【VBA入門】セルを削除する方法

セルがシフトする方向はDeleteメソッドの後に引数で設定することができます。ちなみにセルの削除時は右側や下方向へのシフトはできません。(エラーが発生します。)

<コード>
【VBA入門】セルを削除する方法

まとめ

セルの削除は頻繁に行う操作ですが、実行後周辺のセルがシフトすることを考慮してコードを書かないと、思わぬ不具合を引き起こす原因となります。コードを見ただけでセルの動きが理解できるように極力引数は省略しないようにしましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾
ページ上部へ戻る