Excel VBA質問スレ Part7at TECH
Excel VBA質問スレ Part7 - 暇つぶし2ch96:70,71,73,90
08/06/12 18:00:46
>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
これでどうでしょうか?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch