書類整理時の必要作業 ナンバリング刻印。
紙ベースの場合はスタンプで順に刻印していく作業が定番です。
時間のかかる単純作業この上ありません。
こんな作業は、エクセルのVBAを使って瞬殺してしまいましょう。
こんにちは じゅんぱ店長 (@junpa33) です。
今回の簡単プログラムは、エクセルを利用して書類をナンバリングする方法です。
書類のナンバリングと言えば、定番の「ナンバリングスタンプ」でしょ!
ねこ氏
うささん
今も変わらず、事務員さんがカシャン、カシャンと刻印していますよ。
この事務作業って何気に地味に面倒くさいものです。時間もかかるし。
今回はここを改善してみましょう。

エクセルブックをパスワードロックするユーティリティなマクロ

別々に保存のシートを一つのブックにまとめる。シート移転マクロ

シート名一覧表作成マクロをブック登録して色んなエクセルで使う

Excel ユーザー定義用紙の印刷設定 問題解決のVBAコード

マクロの実行を1クリックで!フローティングボタンをユーザーフォームで作る

Option Explicitとは何、必要? VBA記述で不注意なエラーを防止する

Excelで書類のナンバリング刻印は瞬殺作業になる。紙ベースのユーザー必見

エクセル文書の見出し 先頭文字を大きく目立たせるVBA Characters

エクセルVBA セル入力の文字を大きくする、太くする、色変更の簡単コード
コンテンツ
Excelで書類にナンバリング刻印

事務用品でナンバリングスタンプと言うと、数字(自然数)でカウントアップで刻印していく、5・6桁のスタンプだと思います。
単なる番号付けのスタンプです。
ところが、これをExcelで作ると、
いわゆる「好き勝手にナンバリング」が可能になるわけです。
「ジャンル別ナンバリング」や「地域別ナンバリング」や「年月日別」など、好き勝手です。
ただし、誰でもが使えるわけではありません!
エクセルVBAの入門レベルの知識は必要です。
悩める君
今回、日付ごとのナンバリングのエクセルVBAコードを作成しましたので、作り方を紹介します。
これから行うExcelナンバリングは、刻印するそれぞれの用紙が同じサイズ・同じ厚さで、コピー用紙と同質のものであることが前提です。
不均一なものだとプリンターが損傷することがあるかもしれません。
今回の日付ナンバリングはこれです
書類用紙の右肩に1日1枚で刻印を行っています。

エクセルのシート設定
エクセルシートの印刷設定を行います。
刻印する場所としては、
エクセルシート上の「右ヘッダー」か「印刷時のページ上の一番右上のセル」のどちらかになります。
今回の設定では、「印刷時のページ上の一番右上のセル」を使用しています。
シートの設定する理由は、
- 用紙サイズの設定
- 上と右余白の設定(右肩に刻印する場合)
を行うためです。
これを行わないと、刻印するセルの位置が確定できないからです。
日付ナンバリングの日数を調べる
このVBAプログラムを使ってナンバリングするには、何回(何日分)の印刷が必要かを計算します。
これは、よくあるエクセルの日付計算でOKです。
例えば、
令和4年5月1日から令和5年3月31日までは「334日+1日」とかを計算します。
日付ナンバリングのエクセルVBAコード
令和4年4月1日から令和4年5月31日までの日付ナンバリングの実例です。
Sub 日付ナンバリング()
Dim n As Long
Dim st As Date
For n = 0 To 60
st = "2022/04/01"
Range("I1") = DateAdd("d", n, st)
With Range("I1")
.Font.Size = 25
.Font.Bold = True
.NumberFormatLocal = "m" & "/" & "d" & "(aaa)"
End With
ActiveSheet.PrintOut from:=1, To:=1
Next n
End Sub
- nはカウンター変数で印刷する日数分変化していきます。
- stはいつの日時から印刷開始するかを変数化しています。日付を代入します。
- DateAdd関数はスタートの日付からn日カウントした日を示します。
- With End Withの間で、文字表示や日付表示を指定します。
- そして、シートを1ページのみ印刷します。
- これを日数分繰り返します。
こちらのエクセルVBAの記事が参考になります。
いろいろ応用してみる

VBAコードを一部修正して、色々なスタイルで表示させることが出来ます。
普通のナンバリング
普通の5桁のナンバリングで刻印します。
1から1225までの設定ですが、「1225」の数値は任意に変更してください。

Sub ナンバリング()
Dim n As Long
For n = 1 To 1225
With Range("J1")
.Font.Size = 18
.Font.Bold = True
.NumberFormatLocal = "@"
.Value = Format(n, "00000")
End With
ActiveSheet.PrintOut from:=1, To:=1
Next n
End Sub
和暦日付ナンバリング
日付表示を変更しています。

Sub 和暦日付ナンバリング()
Dim n As Long
Dim st As Date
For n = 0 To 60
st = "2022/04/01"
Range("G1") = DateAdd("d", n, st)
With Range("G1")
.Font.Size = 18
.Font.Bold = True
.NumberFormatLocal = "ggge年m月dd日(aaaa)"
End With
ActiveSheet.PrintOut from:=1, To:=1
Next n
End Sub
部門別ナンバリング
カウントナンバーの前に文字を付加することもできます。

Sub 部門別ナンバリング()
Dim n As Long
Dim st As String
For n = 1 To 75
st = "令和4年 顧客NO. "
Range("G1") = st & n
With Range("G1")
.Font.Size = 18
.Font.Bold = True
End With
ActiveSheet.PrintOut from:=1, To:=1
Next n
End Sub
エクセルでナンバリング刻印のまとめ
このExcelナンバリングを使うためには、エクセルが使える環境で、
ナンバリングをする書類のサイズや紙厚が同じでプリンターに通る必要があります。
もし、この方法が使える環境で有れば、
エクセルVBAコードの一部を変更するだけで、無限のバリエーションのナンバリングを刻印することが出来るようになります。
この様に、エクセルVBAの知識を少しでも持っていれば、
少しの思考の切り替えで、時間のかかっていた作業を、超楽に熟してしまうことも出来てしまいます。
エクセルVBAの独習には動画学習という方法もあります。 目と耳両方を使って学習することでさらに勉強効率を上げることもできます。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
今回の記事はここまでです。 最後までご覧いただき有難うございました。