>91 70,71,73,90です。最初(69番の書き込み)から90日後云々が消えちゃいましたが・・・ それから3営業日「前」の日付を求めたい、とあったのが今度は3営業日「後」の日付を 求めるんですか? では、A列にカレンダー(1月1日〜12月31日)、B列に何かデータがあれば休みという前提で、 C1セルに日付を入力したら3営業日「後」の日付を求めるということで考えてみます。 C1セルの日付がカレンダーの何行目になるのかは、 Cells("C1").Value - Cells("A1").Value + 1 で求められます。A1セルを1/1としてます。 単純に3日後であれば3行下のA列の値でいいんですが、B列に何かあったらさらに1行下となるので、 ループを利用します。 Dim Tate As Long, i As Long Sub D_day() Tate = DateDiff("d", Cells(1, 1).Value, Cells(1, 3).Value) + 1 i = 0 Do Tate = Tate + 1 If Cells(Tate, 2).Value = "" Then 営業日だけ i = i + 1 カウントアップ End If Loop Until (i > 2) 3営業日になったらループ脱出 Cells(1, 4).Value = Cells(Tate, 1).Value End Sub これでどうでしょうか?