翌日以後も変わることのない月日を含めた連番を作成するには?

Question 90.4 Excel VBA Borad (掲示板)より Previous Next
はじめまして、勉強中のまったくの初心者です。
稟議書等の発行時の申請連番を発行管理するものを作りたいのです。シートのレイアウトは図のとおりです。
申請連番のフォーマットは、
"08上○○課0814-001"と決まっています。
A1セルの「08上」、B1セルの「1課」、"0814"は当日の月月日日の4桁、
連番は上の行から入力順に3桁で取得される。

申請番号は入力した時に決まり、表示されるようにしたいのですが、翌日に取得済みの連番、特に月日の部分が変わっては駄目です。
シートは月度単位で300件位(行)です。いろいろな人が入力しますので、できるだけ簡単なものを希望しています。何卒ご協力お願いします。
Answer   2008.8.14 永井善王
協力してほしいところはどこですか?
月日の部分が変わらないようにしたいなら、月月日日 = Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2) のようにすればできます。
Question
早々のお返事ありがとうございます。わからないところが多くて、要点を得ない投稿ですいません。 おかげさまで、月日はできました。ありがとうございました。
次に、1行に対して3桁の連番の出し方し、さらに空欄のセルも含めた列で常に一番大きい連番を赤字で表示する方法を教えてください。再三申し訳ございませんが、よろしくお願いいたします。

【補足】
・A3からのA列は、=IF($B3="","",ROW()-2) の数式で、B列に申請者名を入力するとA列に3桁の連番(例「001」)を
 表示します、それを連番にプラスするようにしています。できれば、それを数式なしでマクロにしたい
 のです。
・E列には決裁後に決裁番号を手入力します。今は条件付き書式で、その決裁番号の中で常に一番大きい番
 号がわかるように赤字表示できるようにしています。それもマクロでできればと思っています。
作成途中のマクロは下記のとおりです。
Sub 連番取得()
    Dim Rowpos As Integer
    Dim Colpos As Integer
    Rowpos = 3
    Colpos = 4
    月月日日 = Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2)
    Do
        If Cells(Rowpos, Colpos - 2) <> "" Then
            Cells(Rowpos, Colpos) = Range("A1") & Range("B1") _
                & 月月日日 & "-" & Cells(Rowpos, Colpos - 3)
        End If
        Rowpos = Rowpos + 1
    Loop While Cells(Rowpos, Colpos - 2) <> ""
End Sub
Answer   2008.8.16 永井善王
前回回答にある月・日を必ず2桁にするコードは理解できてますか?
「1行に対して3桁の連番の出し方」は、それと同様で、Right("00" & 行番号 - 2, 3) のようです。
Sub 連番取得()
    行 = Range("B" & Rows.Count).End(xlUp).Row        '下端検出
    月日 = Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2)
    If Range("D" & 行) = "" Then
        Range("D" & 行) = Range("A1") & Range("B1") & 月日 & "-" & _
            Right("00" & 行 - 2, 3)
    Else
        MsgBox "新データがないのに[連番取得]ボタンが押されました。"
    End If
End Sub
決裁番号の方は条件付き書式で事足りてるなら、わざわざマクロを組むことはないでしょう。 どうしてもなら、どのタイミングでそのマクロを実行させるかを考えてから、
(1)最大値を検索するコード、
(2)最大値のセルのアドレスを取得するコード、
(3)フォントの色を赤に設定するコード等を調べて、マクロに組みあげるとよろしいかと思います。
ガンバ。
ありがとうございました
お忙しいところ、何度もご指導いただきありがとうございました。すべて作っていただいた感じです。
マクロは本当に難しいですが、本を買ってもっと勉強し、次にチャレンジしたいと思います。
また、お世話になると思いますが、よろしくお願いいたします。本当にありがとうございました。

 

Excel VBA Macro