次回用にデータをクリアーするVBA。雑誌と書籍の在庫リスト

sakujyoeyecatch002aa

雑誌と書籍の在庫リストを次回に利用するために、使用済のデータをクリアーするVBAコードを組み立てます。
少し工夫すれば簡単に作成できます。コツを紹介します。

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

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

今回は、

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

クリアーするためのエクセルVBAを作ります。

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

雑誌と書籍の在庫リスト(棚卸表)作成の記事編成

データのクリアーと在庫リスト削除のVBAコード

sakujyo003

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

作成するVBAは

  1. 「コード入力表」、「データコピー」、「作業シート」のシートの内容をクリアーする
  2. 調査個所別シートを削除して「書誌棚卸表.xlsm」をデフォルトのシート状態に戻す

とします。

それでは、「コード入力表」、「データコピー」、「作業シート」と作成した「調査個所別シート」について

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

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

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

単に”Cells.Clear で行うことが出来ます。

VBA
Sub コード入力表クリア()
        Worksheets("コード入力表").Select
        Cells.Clear
        Worksheets("作業シート").Select
        Range("A1").Select
End Sub

「コード入力表」シートでは、はじめに、イベントコードでVBAが実行されるように仕組んでいます。

バーコードを読み込む。シートイベントで連続処理

セルをクリアしようとした時にイベントが発動されてメッセージウインドが表示されるときは「OK」をクリックしてください。(コード入力表シートのセルはデータクリアーされています。)

sakujyo002

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

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

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

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

.Cells.UseStandardHeight=True

.Cells.UseStandardWidth=True でデフォルトに戻します。

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

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

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

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

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

調査個所別シートの削除

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

完成した調査個所別シートの一部分を削除する場合は、手作業(マニュアル)で行ってください。

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

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

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

For Each…Next”を使って中に条件文を埋め込むという形です。

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

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

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

VBA
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

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

sakujyo004

クリアーの作業は非常に簡単なコードで行うことができます。

これで、データのクリアは完了です。

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

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

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

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

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

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

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

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

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

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

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2 エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

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

エクセルVBA最速理解で必要な知識を集めよう!

エクセルVBA業務ツールで日常の業務改善を行いましょう。

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

アンケートでポイ活しよう!!

アンケートに答えれば答えるほど ”使える” ポイントがたまります。

NTTコム サーチ

af_banner01

Dstyle web

dstyleweb_logo
dstyle_320x50-min