こんにちは、じゅんぱ店長(@junpa33)です。
今回は,
エクセルBOOK「返品了解申請.xlsm」の返品了解の依頼書の作成後、
次回使用のために、今回利用した返品についての書誌情報をクリアするためのVBAプログラム作りを行っていきます。
そしてさらに「スタート設定」シートに今まで作成したVBAの作動ボタンを設置します。
ちょっとその前に、
前回の記事の確認をしたいという方はこちら↓からお読みいただけます。
返品了解書作成に関連の記事はこちらです。
コンテンツ
利用後情報をクリアするVBA作成の流れ
利用済みの情報のクリアする部分は「各出版社別」シートの削除と「返品本分類」シートのクリアになります。
「返品依頼テンプレート」には、発信元情報を入力していますが、その度に変わるものではありませんので、
このクリアの対象とはしません。
①「各出版社別」シートの削除 シートそのものを削除します。
②「返品本分類」シートのクリア シート状態をデフォルトの状態に戻します。
このクリアのVBAによって、エクセルベースの作成したデータがすべて消えてしまいます。
エクセルベースのデータを保存したい場合は、
このクリアのVBAを作動させる前に、エクセルBOOK「返品了解申請.xlsm」を保存しておきましょう。
情報クリアのVBAコード作成
今回も新しくモジュールを挿入します。
挿入の方法はこちら↓で確認できます。
「VBE(ビジュアルベーシックエディター)を起動する」
各出版社別シートの削除
各出版社別シートの削除は「返品本分類」シートのA列の値(ページ数)に基づいて行っていきます。
A列の値が、それぞれのシート名になっているからです。
Subプロシージャー名を「各ページクリア」とします。
Sub 各ページクリア()
End Sub
変数をこのように設定します。
「返品本分類のデータ行数」・・・・・CRow
「削除するシートのページNO.」・・SN
「ループ処理のループ回数」・・・・・c
条件分岐については、各出版社別シート作成の時と同じ方法で行います。
入力セルの最終行を取得する方法はこちらを参考にしてください。
Gotoステートメントの使い方についてはこちらを参考にしてください。
Sub 各ページクリア()
Dim CRow As Long
Dim SN As Variant
Dim c As Long
Worksheets("返品本分類").Select
CRow = Cells(Rows.Count, 1).End(xlUp).Row
If CRow <= 1 Then
MsgBox "クリアするシートリストがないか、クリアするシートがありません。"
Exit Sub
End If
For c = 1 To CRow
SN = Range("A" & c).Value
If c = 1 Then GoTo step1
If SN = Range("A" & c - 1).Value Then GoTo step2
step1:
Application.DisplayAlerts = False
Worksheets(SN).Delete
step2:
Worksheets("返品本分類").Select
Next c
Application.DisplayAlerts = True
End Sub
返品本分類シートのクリア
Subプロシージャー名を「本分類クリア」とします。
Sub 本分類クリア()
End Sub
シートの状態をデフォルトに戻すのには、
「.UseStandard」プロパティを使います。
Sub 本分類クリア()
Worksheets("返品本分類").Cells.Clear
With Worksheets("返品本分類")
.Cells.UseStandardHeight = True
.Cells.UseStandardWidth = True
End With
End Sub
作成したクリアコード
クリアコードはこのようになります。
VBA作動ボタンの設置
「スタート設定」シートに作動ボタンを設置していきます。
このボタンのためのプロシージャーを設置する新たなモジュールを挿入します。
作動させるプロシージャーの順番を間違えるとうまく動かないことになりますので、
記述順を間違えないようにしてください。
①返品依頼の作成についてのボタンを作成します。
Subプロシージャー名を「返品依頼作成」として、このボタンに関連付けします。
Sub 返品依頼作成()
Module1.テンプレコピー
Module1.データ移動
Module1.電話番号検索
End Sub
②発信元表示のボタンを設置します。
Subプロシージャー名を「発信元表示」として、このボタンに関連付けします。
Sub 発信元表示()
Module2.発信元情報
Module2.番線印転記
End Sub
③オールクリアのボタンを設置します。
Subプロシージャー名を「オールクリア」として、このボタンに関連付けします。
Sub オールクリア()
Module3.各ページクリア
Module3.本分類クリア
End Sub
ボタンの設置方法は、こちら↓を参考にしてください。
利用後情報のクリアVBA作成のまとめ
データをクリアする方法はこれで完了になります。
データをエクセルベースで保存する時は、ファイル名を変えて保存するようにしてください。
データの保存目的であれば、「マクロなしBOOKでの保存」(.xlsx)で保存しましょう。
今回をもって、エクセルBOOK「返品了解申請.xlsm」は完成です。
先に完成しているエクセルBOOK「返品書誌情報.xlsm」と
エクセルBOOK「FAX電話番号.xlsx」
の3点は同じディレクトリ(同じフォルダー)に置いてください。
(設置場所をバラバラに変えてしまうと、参照エラーでVBAが止まってしまいます。)
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です
次回は、返品了解書作成で作ったエクセルBOOKの取説記事です。
返品了解書作成ソフトの取説。上手なエクセル利用法で時短を推進します
エクセルVBAを使って、業務効率UPを図る上で始めのうちに知っておきたい内容を纏めています。
今回の記事はここまでです。 最後までご覧いただき有難うございました。