利用後情報をクリアするエクセルVBA。返品了解の依頼書の作り方

riyojoucleareyecatcha

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

 

今回は,

エクセルBOOK「返品了解申請.xlsm」の返品了解の依頼書の作成後、

次回使用のために、今回利用した返品についての書誌情報をクリアするためのVBAプログラム作りを行っていきます。

そしてさらに「スタート設定」シートに今まで作成したVBAの作動ボタンを設置します。

 

ちょっとその前に、
前回の記事の確認をしたいという方はこちら↓からお読みいただけます。

henpihashineyecatchaa発信元情報を表示するためのエクセルVBA。返品依頼書を作る

 

返品了解書作成に関連の記事はこちらです。

「返品了解書作成」の記事一覧を開く

 

利用後情報をクリアするVBA作成の流れ

 

利用済みの情報のクリアする部分は「各出版社別」シートの削除と「返品本分類」シートのクリアになります。

「返品依頼テンプレート」には、発信元情報を入力していますが、その度に変わるものではありませんので、

このクリアの対象とはしません。

①「各出版社別」シートの削除 シートそのものを削除します。

②「返品本分類」シートのクリア シート状態をデフォルトの状態に戻します。

 

このクリアのVBAによって、エクセルベースの作成したデータがすべて消えてしまいます。

エクセルベースのデータを保存したい場合は、

このクリアのVBAを作動させる前に、エクセルBOOK「返品了解申請.xlsm」を保存しておきましょう。

保存する時の注意点

保存名を変えて保存すること。(名前を付けて保存)

マクロなしBOOKで保存します。(BOOKも少しデータ量が軽くなります)

 

riyojyouclea001a

 

情報クリアのVBAコード作成

 

今回も新しくモジュールを挿入します。

 

挿入の方法はこちら↓で確認できます。
VBE(ビジュアルベーシックエディター)を起動する

vbavbekidoeyecatchVBA初めての起動。VBEの立ち上げ、保存と終了

 

各出版社別シートの削除

 

各出版社別シートの削除は「返品本分類」シートのA列の値(ページ数)に基づいて行っていきます。

A列の値が、それぞれのシート名になっているからです。

 

Subプロシージャー名を「各ページクリア」とします。

Sub 各ページクリア()
End Sub

変数をこのように設定します。

「返品本分類のデータ行数」・・・・・CRow

「削除するシートのページNO.」・・SN

「ループ処理のループ回数」・・・・・c

 

条件分岐については、各出版社別シート作成の時と同じ方法で行います。

 

MEMO

入力セルの最終行を取得する方法はこちらを参考にしてください。

vbalastcelleyecatchデータ入力済セルの最終行番号を取得する

Gotoステートメントの使い方についてはこちらを参考にしてください。

VBAGotoeyecatch001Gotoステートメントはコードをジャンプする!毒と薬との両面がある

 

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

 

返品本分類シートのクリア

 

MEMO

シートのクリアのためのエクセルVBAコードの作り方については、この記事が参考になります。

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

 

Subプロシージャー名を「本分類クリア」とします。

Sub 本分類クリア()
End Sub

 

シートの状態をデフォルトに戻すのには、

「.UseStandard」プロパティを使います。

Sub 本分類クリア()

Worksheets("返品本分類").Cells.Clear
    With Worksheets("返品本分類")
        .Cells.UseStandardHeight = True
        .Cells.UseStandardWidth = True
    End With
End Sub

 

作成したクリアコード

 

クリアコードはこのようになります。

riyojyouclea002a

 

VBA作動ボタンの設置

 

「スタート設定」シートに作動ボタンを設置していきます。

このボタンのためのプロシージャーを設置する新たなモジュールを挿入します。

作動させるプロシージャーの順番を間違えるとうまく動かないことになりますので、

記述順を間違えないようにしてください。

 

VBAコード参考記事

ここの説明で出てくるVBAコードの参考にしていただける記事です。

 

①返品依頼の作成についてのボタンを作成します。

Subプロシージャー名を「返品依頼作成」として、このボタンに関連付けします。

Sub 返品依頼作成()

  Module1.テンプレコピー
  Module1.データ移動
  Module1.電話番号検索
End Sub

 

②発信元表示のボタンを設置します。

Subプロシージャー名を「発信元表示」として、このボタンに関連付けします。

Sub 発信元表示()

  Module2.発信元情報
  Module2.番線印転記
End Sub

 

③オールクリアのボタンを設置します。

Subプロシージャー名を「オールクリア」として、このボタンに関連付けします。

Sub オールクリア()

  Module3.各ページクリア
  Module3.本分類クリア
End Sub

riyojyouclea003a

 

ボタンの設置方法は、こちら↓を参考にしてください。

データ抽出ボタンを設置する。

 

MEMO

コマンドボタンの設置方法はこちらの記事も参考になります。

vbabuttoneyecatchコマンドボタンをシートに設置する2つの方法

 

riyojyouclea004a

 

利用後情報のクリアVBA作成のまとめ

 

データをクリアする方法はこれで完了になります。

データをエクセルベースで保存する時は、ファイル名を変えて保存するようにしてください。

データの保存目的であれば、「マクロなしBOOKでの保存」(.xlsx)で保存しましょう。

 

 

今回をもって、エクセルBOOK「返品了解申請.xlsm」は完成です。

先に完成しているエクセルBOOK「返品書誌情報.xlsm」と

エクセルBOOK「FAX電話番号.xlsx」

3点は同じディレクトリ(同じフォルダー)に置いてください。

(設置場所をバラバラに変えてしまうと、参照エラーでVBAが止まってしまいます。)

 

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

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

 

次回は、返品了解書作成で作ったエクセルBOOKの取説記事です。

henryoutorisetueyecatcha返品了解書作成ソフトの取説。上手なエクセル利用法で時短を推進します

 

エクセルVBAを使って、業務効率UPを図る上で始めのうちに知っておきたい内容を纏めています。

「エクセルVBA最速理解」の記事一覧を開く

 

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

 

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