雑誌と書籍の在庫リストのソフト作成です。今回は、調査個所別シートに在庫データを表記する部分です。
多量のデータを分かり易く整理して行えるようになります。
こんにちは、じゅんぱ店長(@junpa33)です。
雑誌と書籍の在庫リストのソフト作成方法について、
今回の記事内容は、
在庫表に表示するデータを今まで作成・整理してきましたが、
それを清書という形で、新しいシートに転記表示します。
「書誌棚卸表.xlsm」での新しいシートの作成と在庫表表示の操作を行うVBAコードの説明です。
雑誌と書籍の在庫リスト(棚卸表)作成の記事編成
- 雑誌と書籍の在庫リストの使い方とダウンロード
- 書誌データベースのダウンロード
コンテンツ
在庫リストを調査個所別にシート転記するVBA
調査個所別のシート作成の流れ
「発行(制作)部署名」と「チェック場所(調査場所)」の項目を作成する在庫リストに表示します。
調査場所名の新しいシートを作成し、そちらに作成した在庫管理表を表示します。
調査場所別にチェックできるようにシートを作成していきます。
プリントアウトすれば、提出できる状態の完成資料になる様に作り上げます。
「場所別在庫表」プロシージャーの作成
エクセルVBAコード記述の流れは、このような感じです。
別のVBA記述ですが、ユーザーフォームで作成する「コントロールパネル」に「発行部署」と「チェック場所名」を入力するテキストボックスを設置しておきます。
(ユーザーフォームについては後の記事で説明します。)
その「チェック場所名」をシート名として新しいシートを作成します。
もし「チェック場所名」が未記入であれば「年月日ー時間」をシート名とします。
その新しいシートの中で、
- A列からG列を使用します。
- サイズは「A4タテ用紙」にサイズ合わせをしています。
- G列は「備考欄」として手書き入力スペースとしています。
プリントアウト時の在庫表のヘッダーには
- 「書誌在庫表(「チェック場所名」)」のタイトル名を付けています。
- 発行日と「発行部署」が印字されます。「発行部署」については未記入の場合はカットされます。
フッターについてはページ数がセンターに印字されます。
エクセルVBAコードの作成テクニック
”新しいシート”を作成し、そのシートで作表などの作業をしたい場合、
”新しいシート”をVBAコードで指定できるようにすることが必要です。
”新しいシート”を作成した時、その瞬間その”新しいシート”はフォーカスされています。
つまりアクティブシートの状態になっています。
このアクティブな状態の時に”名付け”を行います。(今回は変数名を付けています。)
一度名前を付けさえすれば、そのシート名を指定してシート操作を行えます。
新規作成ブックとシート。アクティブ状態でやっておくことSub 場所別在庫表()
Dim Wn As Variant, NWn As Variant
Dim Zrow As Long, Zrowb As Long
Worksheets("作業シート").Select
Wn = SpaceName
Range("E2").Value = Wn
If Wn = "" Then
NWn = Format(Now(), "yymmdd-hhmm")
Else
NWn = Wn
End If
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = NWn
Worksheets("作業シート").Select
Zrow = Cells(Rows.Count, 6).End(xlUp).Row
Range("E1", "J" & Zrow).Copy _
Destination:=Worksheets(NWn).Range("A1")
Application.CutCopyMode = False
Worksheets(NWn).Select
Range("G1") = "備考"
Range("C" & Zrow + 1) = "合計"
For Each CELS In Range(Cells(2, 2), Cells(Zrow, 2))
If CELS.Value = "" Then
Rows(CELS.Row).Delete
End If
Next
Zrowb = Cells(Rows.Count, 3).End(xlUp).Row
For t = 2 To Zrowb
If Len(Range("B" & t)) = 6 Then
Range("B" & t) = "0" & Range("B" & t)
End If
Next t
Range("A:G").Font.Size = 10
Range("A:A").ColumnWidth = 8
Range("B:B").ColumnWidth = 15
Range("C:C").ColumnWidth = 25
Range("D:D").ColumnWidth = 10
Range("E:E").ColumnWidth = 10
Range("G:G").ColumnWidth = 10
Range("A1").RowHeight = 21
Range("A1").Select
With Range("F:F")
.NumberFormatLocal = "\#,##0;\-#,##0"
.ColumnWidth = 10
End With
With Worksheets(NWn).PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
.PrintArea = "A1:G" & Zrowb
.CenterHeader = "書誌在庫表" & "(" & NWn & ")"
.RightHeader = Date & Chr(10) & ShopName
.CenterFooter = "&P" & "/" & "&N"
.PaperSize = xlPaperA4
.Orientation = xlPortrait
.LeftMargin = Application.CentimetersToPoints(2)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(3)
.BottomMargin = Application.CentimetersToPoints(1)
.HeaderMargin = Application.CentimetersToPoints(1.5)
.FooterMargin = Application.CentimetersToPoints(1.5)
End With
Range("F" & Zrowb) = WorksheetFunction. _
Sum(Range("F2", "F" & Zrowb - 1))
Range(Cells(1, 1), Cells(Zrowb, 7)).Select
With Selection.Borders
.LineStyle = xlContinuous
.Weight = xlHairline
End With
Range("A1").Select
End Sub
調査個所別シート作成のVBAのまとめ
一連の流れとしては、これで在庫リスト作成コードについては終了です。
ソフト設計プランとして、在庫調査個所毎に在庫リストシートを作成できるようにしています。
1つの在庫調査個所について、在庫リスト作成終了後、次の調査個所へということになります。
その場合、同じようにオペレーションいただくと”先にできたシート”の後に”新しく調査した個所名のシート”が作成されます。
調査場所ごとのシートを統合した大きな1枚のシートを作り、その総合計を計算できるようにも出来ますが、
このソフトを利用するシチュエーションもそれぞれに違い、調査ボリューム・調査チーム数・使用PC数なども多様ですので、この部分については、ご利用の方がさらにカスタマイズしていただければと思います。
これからの作業としては、
- 一つの在庫調査終了後に次の個所の在庫調査を行うために前データをクリアするコード
- ソフトの操作性を上げるためのユーザーフォームの設置
があります。
次の記事では、
「作業が終了した個所のデータをクリアーするVBA」を組み立てていきます。
短期間でエクセルVBAの独学習得を目指したいなら
エクセルVBAを独学する独習方法は、学習者それぞれ十人十色、多種多様と思われます。
けれども、
出来るだけ効率よく学習するためには、いくつかの大切なポイントがあります。
独学でもVBA習得の中級クラスに達するのはそんなに難しいことではありません。
先人が行った勉強方法をあなたがそのまま利用すればよいということです。
エクセルVBAを独学で習得する!ために大切な7つのポイントを解説します独習のための大切な7つのポイントは、上記記事にて解説しています。
独習によるVBA習得のキーワードは、出来るだけ多くの実例に触れること!です
正直、VBAの学習について自分の周りの仕事(業務)からだけ実例を得るのでは効率良い習熟は無理です。
ハッキリ言って、
本当に短い期間でVBA習得を成功させたいなら、今使っている参考書が良書かどうかを判断し、新ツールとしてオンライン学習も取り入れて行うことが、
手っ取り早く短期間習得できるというのは間違いないでしょう。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。