- ベストアンサー
日付を元にカウンター数を”0”にする方法
- 日付を元にカウンター数を”0”にする方法について初心者の方が悩んでいます。
- VBAを使用して請求書の番号を日付が変更したら”0”に戻す方法について、初心者の方が質問しています。
- パソコンのスイッチを切っても変数がクリアにならない方法を教えていただきたいとのことです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Function 請求書番号取得(ByVal 本日 As Date) As Integer With Worksheets("Sheet1") If CDate(.Range("A1").Text) = 本日 Then '日付が変わっていない場合 .Range("B1").Text = CInt(.Range("B1").Text) + 1 '請求書番号を+1 Else '日付が変わった場合 .Range("A1") = 本日 '日付情報を更新 .Range("B1").Text = 1 '請求書番号をリセット End If 日付確認 = CInt(.Range("B1").Text) End With ActiveWorkbook.SaveAs End Function こんな感じでどうでしょう? Sheet1という名前のシートのA1セルに日付、B1セルに請求書番号を保存します。 そして、本日の日付がSheet1のA1セルと違っていた場合は、A1セルの日付を本日に書き換えてB1セルの請求書番号をリセットします。 このルーチンを使いたい場合は、 Dim Count As Integer '請求書番号 Count = 請求書番号取得(Date) という感じになります。 実行すると、変数Countの中に新しく発行される請求書の番号が入ってきますよ。 >パソコンのスイッチを切ってしまったら、変数はクリアになってしまって 上記のルーチンを使えば、Excelのシート上に請求書番号が保存されるため、パソコンを再起動しようが請求書番号のカウントが継続されます。
その他の回答 (1)
- Syd-Yuki
- ベストアンサー率0% (0/1)
採番するにあたってどのようにデータを取り込んでいるかによってよって違ってくると思いますが、簡単に実装するには日付毎の最大番号を別シートに保存し、存在しない場合は該当日付と0を別シートに追加してから採番するようにしてはいかがでしょうか?
お礼
早速のご回答ありがとうございます。 早々に試して見ます。
お礼
詳しくコードまで書いていただき大変!大変!!感謝しております。 早速試してみます。 ありがとうございました。