利用後データをクリアーする適材適所のVBAコード。エクセル棚卸表作成をつくる。

sakujyoeyecatch002aa

エクセルで在庫管理表を作っていますが、今回は作成完了したデータをクリアーするためのためのVBAコードをを解説いたします。
簡単そうでちょっと工夫がいります。そのコツを紹介します。

こんにちは、じゅんぱ店長(@junpa33)です。

 

雑誌と書籍の在庫管理表のソフト作成方法についてです。

 

今回は、

在庫表作成で今まで入力や表示を行ったデータを、

クリアーするためのエクセルVBAを考えていきます。

 

「書誌棚卸表.xlsm」で新しいモジュールに操作を行うVBAコードを記述します。

 

前の記事の確認をするにはこちら↓から。

書誌棚卸表を調査個所別に仕上げる。シート表記するVBAコード

 

「雑誌と書籍の在庫リスト」の完成形はこの記事をご覧ください。

【棚卸し】無料入手!在庫管理の「雑誌と書籍の在庫リスト」DLと取説

雑誌と書籍の在庫リスト作成に関連した記事はこちらになります。

「棚卸表作成」の記事一覧を開く

 

データをクリアーする適材適所のVBAコード

 

今回のコードの記述はModule4に記述します。

 

「コード入力表」、「データコピー」、「作業シート」のシートの内容をクリアーします。

作成した完成在庫表については、シートを削除して「書誌棚卸表.xlsm」を

デフォルトのシート状態に戻します。

 

それでは、「コード入力表」、「データコピー」、「作業シート」と作成した完成在庫表について

それぞれに説明していきます。

 

MEMO

シートのクリアについてはこの記事も参考になります。

エクセルVBA シートのクリアーを目的のメソッド別に最速理解

 

「コード入力表」のシートクリアー

 

コード入力表シートのセルのデータクリアーについて、

単に”Cells.

ただ、セルに色がついていますので、その列のE列を掴んで一挙に

”.Interior.ColorIndex=0”として着色なし状態にします。

 

コード①

Sub コード入力表クリア()
    Worksheets("コード入力表").Select
    Cells.Clear
    Worksheets("作業シート").Select
    Range("E:E").Interior.ColorIndex = 0
    Range("A1").Select 
End Sub

 

「データコピー」のシートクリアー

 

データコピーシートのセルのデータクリアーについて、

同様に”Cells.Clear”で行います。

このシートでは、セルサイズを変化させていますので、データクリアー時にセルのサイズも元に戻します。

.Cells.UseStandardHeight=True

.Cells.UseStandardWidth=True で

デフォルトに戻します。

 

コード②

Sub データコピークリア()
    Worksheets("データコピー").Cells.Clear
    With Worksheets("データコピー")
        .Cells.UseStandardHeight = True
        .Cells.UseStandardWidth = True
    End With
    Range("A1").Select
End Sub

 

「作業シート」のシートクリアー

 

作業シートのセルのデータクリアーについて、

こちらはデータシートの場合と同じです。

コード③

Sub 作業シートクリア()
    Worksheets("作業シート").Cells.Clear
    With Worksheets("作業シート")
        .Cells.UseStandardHeight = True
        .Cells.UseStandardWidth = True
    End With
    Range("A1").Select
End Sub

 

完成した在庫表の削除

 

ここでは「書誌棚卸表.xlsm」の状態を初期に戻すためのコードとなります。

完成した在庫表の一部を削除する場合は、手作業(マニュアル)で行ってください。

 

初期状態では「コード入力表」、「データコピー」、「作業シート」の3つのシートがあります。

コード作成の考え方としては、この3シート以外はすべて削除するというコードを作成します。

どれだけ完成した在庫表が作られているか(シート枚数があるか)ケースバイケースで分かりませんので、

For Each…Next”を使って中に条件文を埋め込みます。

エクセルでは何もしないとシートの削除の時に「削除して良いか」のメッセージが出ますので、

コード実行中は、この表示をOFFにします。(しないとコード実行が一時停止します。)

コード終了時に、表示をONに戻すコードを書き忘れないようにします。

関連記事

VBA 回数不定のループ処理はDo LoopとFor Each

 

コード④

Sub 在庫表クリア()
    Dim Wsz As Worksheet 
    Application.DisplayAlerts = False
    For Each Wsz In Worksheets
        If Wsz.Name <> "コード入力表" And Wsz.Name <> "データコピー" _
            And Wsz.Name <> "作業シート" Then
            Wsz.Delete
        End If 
    Next
    Application.DisplayAlerts = True 
End Sub

 

全体としてはこの様な感じです。

sakujyo001a

 

利用後データをクリアーするVBAコードのまとめ

 

クリアーの作業は比較的簡単なコードで行うことができます。

エクセルを使っている方で、シートのセルに関数式(数式)を埋めて使っている方も多いかと思います。

そういったセルへの関数式埋め込みの場合は、不注意にデータをクリアーして、

「やっちまったなぁ」の経験された方も多いのではないでしょうか。

自分もそれでマウスやキーボードに当たり散らした経験があります。

それがVBAにチャレンジするきっかけにもなりました。

オンリーVBAプログラムの場合は思っきり消しても大丈夫です。安心して消してください。

 

 

Excelマクロ&VBA超入門 今すぐ使えるかんたんぜったいデキます!
エクセルVBAを初めて勉強するときに効く
vbastudy016a
vbastudy017a

電子書籍版「Excelマクロ&VBA超入門」をamazonで見てみる

(著者)井上香緒里
(出版社)技術評論社
(税込価格)1,738円(本体1,580円+税)

マクロとVBAについて学んでみたいけれど,いまひとつ自信がないという方のために,ひとつひとつの操作を丁寧に解説する1冊目の教科書です。
エクセルVBAの「い・ろ・は の い」から説明していますので、安心して取り組める参考書です。
例題として、
  • 「データ消去」「シートのコピー」「メッセージボックス」の機能を持つお小遣い帳
  • 「入力フォーム」の機能を持った歩数表
2つの題材ファイルを作成しながら,マクロとVBAの基本を学習していきます。

 

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

 

エクセルVBAの独習には動画学習という方法もあります。 目と耳両方を使って学習することでさらに勉強効率を上げることもできると思います。
エクセルVBA初級者がUdemyで動画学習する講座おすすめ5選と無料講座の上手な使い方。

 

エクセルVBAを使いだして、始めのうちに知っておきたい内容を纏めています。

「VBA最速理解」の記事一覧を開く

 

今回の記事はここまでです。   最後までご覧いただき有難うございました。

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。