雑誌と書籍の在庫リストを次回に利用するために、使用済のデータをクリアーするVBAコードを組み立てます。
少し工夫すれば簡単に作成できます。コツを紹介します。
こんにちは、じゅんぱ店長(@junpa33)です。
雑誌と書籍の在庫リストのソフト作成方法についてです。
今回は、
在庫表作成で今まで入力や表示を行ったデータを、
クリアーするためのエクセルVBAを作ります。
「書誌棚卸表.xlsm」で新しいモジュールに操作を行うVBAコードを記述します。
雑誌と書籍の在庫リスト(棚卸表)作成の記事編成
- 雑誌と書籍の在庫リストの使い方とダウンロード
- 書誌データベースのダウンロード
コンテンツ
データのクリアーと在庫リスト削除のVBAコード
今回のコードの記述はModule4に記述します。
作成するVBAは
- 「コード入力表」、「データコピー」、「作業シート」のシートの内容をクリアーする
- 調査個所別シートを削除して「書誌棚卸表.xlsm」をデフォルトのシート状態に戻す
とします。
それでは、「コード入力表」、「データコピー」、「作業シート」と作成した「調査個所別シート」について
それぞれに説明していきます。
「コード入力表」のシートクリアー
コード入力表シートのセルの値のデータクリアーについては、
単に”Cells.Clear で行うことが出来ます。
Sub コード入力表クリア()
Worksheets("コード入力表").Select
Cells.Clear
Worksheets("作業シート").Select
Range("A1").Select
End Sub
「コード入力表」シートでは、はじめに、イベントコードでVBAが実行されるように仕組んでいます。
セルをクリアしようとした時にイベントが発動されてメッセージウインドが表示されるときは「OK」をクリックしてください。(コード入力表シートのセルはデータクリアーされています。)
「データコピー」のシートクリアー
データコピーシートのセルのデータクリアーについて、
同様に”Cells.Clear”で行います。
このシートでは、セルサイズを変化させていますので、データクリアー時にセルのサイズも元に戻します。
”.Cells.UseStandardHeight=True”
”.Cells.UseStandardWidth=True” で、デフォルトに戻します。
Sub データコピークリア()
With Worksheets("データコピー")
.Cells.Clear
.Cells.UseStandardHeight = True
.Cells.UseStandardWidth = True
End With
Worksheets("作業シート").Select
Range("A1").Select
End Sub
「作業シート」のシートクリアー
作業シートのセルのデータクリアーについて、
こちらはデータシートの場合と同じです。
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に戻すコードを書き忘れないようにします。
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コードのまとめ
クリアーの作業は非常に簡単なコードで行うことができます。
これで、データのクリアは完了です。
エクセルを使っている方で、シートのセルにワークシート関数(数式)を埋めて使っている方も多いかと思います。
そういったセルへの関数式埋め込みの場合は、不注意にセルデータをクリアーして、
「やっちまったなぁ」の経験された方も多いのではないでしょうか。
自分もそれでマウスやキーボードに当たり散らした経験があります。
それがVBAにチャレンジするきっかけにもなりました。
オンリーVBAプログラムの場合は思っきり消しても大丈夫です。安心して消してください。
電子書籍版「Excelマクロ&VBA超入門」をamazonで見てみる
(著者)井上香緒里(出版社)技術評論社
(税込価格)1,738円(本体1,580円+税)
マクロとVBAについて学んでみたいけれど,いまひとつ自信がないという方のために,ひとつひとつの操作を丁寧に解説する1冊目の教科書です。
エクセルVBAの「い・ろ・は の い」から説明していますので、安心して取り組める参考書です。
例題として、
- 「データ消去」「シートのコピー」「メッセージボックス」の機能を持つお小遣い帳
- 「入力フォーム」の機能を持った歩数表
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。