エクセルVBAでFAX注文書の作成途上です。
今回は、利用済データのクリアと削除のコードについてです。
ClearContentsやDeleteを使用します。
こんにちは、じゅんぱ店長(@junpa33)です。
先回は、「FAX注文書作成.xlsm」でまとめたデータを、「FAX注文書テンプレート.xlsm」に移動し注文書作成できるように、1ページづつのデータ括り編集を行いました。
この作業をさらに進める前に、
今回は、使用の終わった『「FAX注文書作成.xlsm」でまとめたデータ』を、次回のツール利用ために、データの削除とクリアを行うVBAコードを組み立てておきます。
FAX注文書作成の記事編成
- FAX注文書作成ツールの使い方とダウンロード
コンテンツ
データの削除とクリアの方法
手作業で、データを削除していくのであれば、目視確認で行うことが出来ますが、VBAコードで行いますので、 ” 違うもの ” まで削除してしまわないように注意する必要があります。
データの削除とクリアを実行するコマンドボタンは、1つ(ワンクリック)で行えるようにしますが、削除とクリアの内容としては、1シート毎に処理を行っていきます。
VBAコードの設置は新しいモジュール(Module4)に記入します。
VBEでモジュールを挿入してください。
「抽出データ」シートのクリア
最初にクリアーするのは「抽出データ」シートです。
その前に、シートクリアのコード作成の前に、
このモジュール(Module4)で頻繁に使うオブジェクトを変数化しておきます。
Option Explicit
Function wb() As Workbook
Set wb = Workbooks("FAX注文書作成.xlsm")
End Function
Function wsT() As Worksheet
Set wsT = wb.Worksheets("抽出データ")
End Function
Function wsS() As Worksheet
Set wsS = wb.Worksheets("出版社リスト")
End Function
ClearContentsメソッドで値をクリアします。
「抽出データ」シートは常に必要なので、シートは削除しません。
Sub 抽出データクリアー()
With wsT
.Activate
.Cells.ClearContents
.Range("A1").Select
End With
Worksheets("操作ボタン").Select
Range("A1").Select
End Sub
出版社各シートの削除
「出版社リスト」シートをクリアする前に、各出版社のシートを削除します。
発注データを作成するときに、「出版社リスト」にある出版社名でそれぞれにシートを新規作成しましたので、削除についてはその逆を行います。
なお、
「出版社リスト」シートは毎回必ず必要なので、シートは残しますが、「出版社別各シート」は毎回その都度作成しますので、使い終わればシートは削除します。
Sub 出版社シートクリアー()
Dim PrRow, t As Long
Dim PrV As Variant
wsS.Activate
If Range("A1").Value <> "" Then
PrRow = Cells(Rows.Count, 1).End(xlUp).Row
For t = PrRow To 1 Step -1
PrV = wsS.Range("A" & t).Value
With Worksheets(PrV)
.Select
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
wsS.Activate
Next t
End If
End Sub
「出版社リスト」シートのクリア
出版社リストをクリアーします。抽出データの場合と同じです。
Sub 出版社リストクリアー()
With wsS
.Activate
.Cells.ClearContents
.Range("A1").Select
End With
Worksheets("操作ボタン").Select
Range("A1").Select
End Sub
3つのクリアと削除コードをまとめるプロシージャー
今までの3つのクリア・削除を一つにまとめるプロシージャーを作っておきます。
Sub ALLクリアー()
Call Module4.抽出データクリアー
Call Module4.出版社シートクリアー
Call Module4.出版社リストクリアー
End Sub
ALLクリアーボタンを「操作ボタン」シートに設置
ALLクリアープロシージャーを実行する「ALLクリア」ボタンを設置します。
これで、「操作ボタン」シートのコマンドボタン設置は終了です。
クリアーと削除のまとめ
データ利用後のクリアと削除についてのVBAコードを作りました。
ここではシートを削除する作業もありますので、一番安全で、確実な削除手法で行うことが重要になります。
シートのインデックス番号を使うのではなく、シート名がすでに判明しているので、 ” 名指し ” でシートを削除するのが安全でしょう。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。