Ads By Google
VBAで稼働日を求めたい件についてお世話になっております。
http://knowledge.livedoor.com/34674
ちょっと要件を変えて3稼働日前を出したいのですがうまくいきません。3稼働日前がでるつもりで計算をしているのですが何故か3稼働日以上マイナスしてしまっています。
また閏年の所を空欄にしているのですが空欄にしてしまうためおかしくなってしまいます。
どなたかご教示ください。
下記に作ったファイルをアップしてあります。
Private Sub CommandButton2_Click()
Dim Count As Integer
Dim k As Long
Dim n As Long
n = 12
Do While Cells(n, 7) <> ""
k = DateDiff("d", Range("D12"), Cells(n, 7)) - 2
Count = 0
Do
If Cells(k, 6) <> "休" Then
Count = Count + 1
If Count = 3 Then
If IsDate(Cells(k, 7)) Then
Cells(n, 8) = Cells(k, 4)
End If
Exit Do
End If
End If
k = k + 1
Loop
n = n + 1
Loop
End Sub
2008-06-14 17:48の質問
この質問は、30日間解決しなかったために自動的に質問が一旦閉じられました。
回答
まだ回答がありません
Ads By Google
コメント(3)
#2. Lode_Runner
2008-06-15 09:34:26
閏年は、「4で割り切れる年」じゃないですよ。
「4で割り切れれば閏年、しかし100で割り切れれば閏年ではなく、しかし400で割り切れれば閏年」です。
http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4
「西暦入れちゃうぞ」ボタンは、1905が入っちゃいますね!
#3. Lode_Runner
2008-06-15 11:57:41
>何故ここで止まってしまうか理解できません。。。
Do While Cells(n, 7) <> "" というように、「空白じゃなかったらループ」とされていますので、イコール「空白だったらループを抜ける」=「終了」です。
#4. mr-r00
2008-06-15 21:14:23
うるう年に関しては無知でした・・・
これもどうにかしないといけないですね・・・




