スポンサーリンク

【初心者向け】Excel VBA(マクロ)でセルに入力した数字・文字列を消す方法


Excel VBA(マクロ)を習い始めたばかりの方の学習を手助けできればと思い、初心者向けの記事を書いています。

基本的に Excel VBA(マクロ)では Excel シート上のセルを操作することになります。

セルに数字や文字列を書き出すことができますし、逆に書き出した数字や文字列を消すこともできます

今日はセルに書き出した数字や文字列を消す方法についてお話しします。

スポンサーリンク

1、セルに書き出した数字や文字列を消したい場合

例えば、あるシステムの一部で、シート上に会計ソフトに取り込むための以下のような↓ 並びのデータを表示したいとします。

1行目から27行目にかけて上の行から順番にデータを出力していきます。

Image(1)

さて、このシステムを使って会計ソフトに取り込むデータの数はいつも同じではないものとします。

もっと少ない場合もあります↓ 1行目から18行目

Image(2)

このように、毎回データの数が違うので、一度表示させたデータを消さずに新しいデータを書き出すと以下のように元のデータとダブって表示されてしまうことがあります

Image(15)

新しいデータを書き出す前に、元々表示されていたデータを消したいわけです。

2、セルに書き出した数字や文字列を消す方法

さて、上記のようにセルに書き出した数字や文字列を消す方法を紹介します。

ClearContents メソッドを使いましょう!

ClearContents メソッドの使い方

ClearContents メソッドは、セル(やグラフ)に表示されている数字・文字列を消すためのものです(書式は元のままです)。

*メソッドというのは、「操作」のことです。今回の場合で言えばセルに表示されている数字・文字列を消すという「操作」を意味します。

以下のように記述して使います↓

オブジェクト.ClearContents

*オブジェクトというのは、「操作対象」のことです。今回の場合で言えばセルが「操作対象」になります。

今回やりたいことは、セルという「操作対象」に対して、表示されている数字・文字列を消すという「操作」を行うことです。

さて、今回消したいセルの範囲をオブジェクトとして指定する必要があるわけです。

指定した範囲のセルの数字・文字列を消す場合

セルの範囲を指定して消す方法を紹介します。

かなり広めに範囲を指定して、A1~Z500 とします。

なお、セルの指定の仕方についてはこちらの記事に書きましたので参考にして頂ければと思います↓

Cells と Range を使う方法がありますが、今回 Range を使います。

セル A1~Z500 に表示されている数字・文字列を消すためには以下のようなコードを標準モジュールに書きます。

プロシージャ名は「Test」としました。

オブジェクト.ClearContents

のオブジェクトを Range(“A1:Z500”) としています。

シートの全てのセルの数字・文字列を消す場合

セルを指定せずに、シート全体をまるまる消したい場合は以下のようなコードを標準モジュールに書きます。

オブジェクト.ClearContents

のオブジェクトを Cells としています。Cells でそのシートの全てのセルを意味します

3、クリアする(消す)他のメソッド

さて、セルの数字・文字列を書式をそのままにして消すために ClearContents を使いました。

他にも、消すためのメソッドはあります。

消せるものとしては、数字・文字列、書式、コメント、アウトラインがあります。

先の ClearContents も含めると、消せるものごとに以下のような種類のメソッドがあります。

Clear 全てをクリア
ClearContents 数字・文字列をクリア
ClearFormats 書式をクリア
ClearComments コメントをクリア
ClearOutline アウトラインをクリア

ClearFormats

ClearFormats についてお話ししますと、書式というのは、セルの色、文字・数字の色、セルの枠線、数字・文字列の太さなどのことです。

例えば、以下のようなシートがあった場合に書式をクリアしてみます。

Image(16)

以下のコードを実行します。

すると書式(セルの色、数字・文字列の色、セルの枠線、文字・数字の太さ)のみがクリアされます↓

数字・文字列そのものは残ります。

Image(17)

ClearComments

コメントはセルに付けることができる「コメント」のことです。ClearComments を使うとコメントのみがクリアされます。

次のシート上のコメントを消してみたいと思います。

Image(18)

以下のコードを実行します。

するとコメントのみがクリアされます↓

書式や数字・文字列そのものは残ります。

Image(17)[1]

Clear

Clear を使うと全てがクリアされます。

全てを消して真っ白なシートに戻ります。

例えば、以下のようなシートがあった場合に全てをクリアしてみたいと思います。

Image(19)

以下のコードを実行します。

すると全てがクリアされました↓

Image(20)

4、まとめ

セルをクリアする方法は上記のとおりいくつかあります。

会計事務所や経理の仕事で一番よく使うのは、最初に紹介した ClearContents です。

数字・文字列だけを消したい場合が多いので。

システムを作って行くと必ず、セルの数字・文字列を消したいことが出てくるので使ってみて下さい。

編集後記

ここのところ急に寒くなってきました。風邪には気をつけたいものです。

あと、最近一度体重が増えるとなかなか減りません。

やはり代謝が落ちてるので何とかしなければ。