アプリ版:「スタンプのみでお礼する」機能のリリースについて

伝票を作りたいのですが、 そこに、念のためにシリアルナンバーを付けたいと思っています。
伝票はエクセルで作っていて 印刷はその時その時でしたいので だからと言っていちいち打つのもめんどくさいです。

まとめると、印刷するたびに番号が被らないようなシリアルナンバーを生成したい。
です 
マクロなどに詳しい方お願いします

質問者からの補足コメント

  • 基本しません

    No.2の回答に寄せられた補足コメントです。 補足日時:2018/06/03 16:25

A 回答 (4件)

こんにちは



すでに回答は出ているようですのでそちらにおまかせするとして、何となく気になった点を…

ご質問文ではシリアルナンバーがふれさえすれば良いように読めますし、回答もそれに沿ったものになっていますが、そもそもの目的がそれで達成できているのでしょうか?
・シリアルナンバーの意義は個別内容の特定にありますが、控えをとるシステムは別に存在するのでしょうか?
 (紙ベースでコピーを保管・管理しているとか・・・)
最低限の項目のリスト(例えば、日付、シリア府番号、相手先、内容分類など)を同時に作成し、必要な時に即時検索できるようにするなどの必要はないのでしょうか?

・印刷後すぐに修正が必要と気付いたような場合でも、『自動で違うナンバーを発行』するような仕組みでOKなのでしょうか?
 (同じ伝票であっても、印刷する度に番号が変わる)

・ご質問の内容を実現するには、その時までに発行した番号(通常の加算で発行するなら、最後の発行番号だけで可)をどこかに記録しておく必要があります。(#3様の回答は、シート上の番号欄をその控えに利用する案です)
伝票の発行を、ひとつのエクセルからしか行わないのであれば問題はありませんが、複数の人が同時に伝票作成の作業を行うような場合は、それぞれに別の(内容は同じ)エクセルファイルを利用することになるのではないかと推測します。
その際には、個別のエクセルに発行番号を記録していたのでは重複を避けることは難しいでしょう。
#1様の方法であれば、番号が被る確率はかなり低く抑えられますが、いわゆる「シリアル番号」(通常は等差数列)にはなりにくいですね。
複数の人が同時に利用する可能性がある場合は、個々のファイルによらない方法を考えておく必要があります。
(共通のサーバに発行番号を控えるファイルを置いておくなど)
    • good
    • 1

Private Sub Workbook_BeforePrint(Cancel As Boolean)


' ここで シリアルナンバー をカウントアップする
End Sub

これだと、画面で見せていたシリアルナンバーの次の値で印刷されます。
「印刷ボタン」を作ってあるなら、そちらでやった方がよろしいかと。

エクセル標準の「印刷ボタン」を使うなら
「BeforePrintイベント」でやることになりますが、
画面で見せていたシリアルナンバーのまま印刷したいなら、
もう一工夫必要です。
「BeforePrintイベント」で、OnTimeを登録して、
2秒後にシリアルナンバーをカウントアップするとか。
    • good
    • 1

印刷の都度プレビューはしますか?

この回答への補足あり
    • good
    • 1

日付と時間でユニークに出来そうですが


2018年6月2日14:22作成なら ⇒1806021422 番号が長かったら年2桁削る
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!