お蔵入り

clip!clip!
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の質問
Excel  VBA  稼働日  Do  3  Loop  
Excel
「Microsoft Office Excel」のホームページです
office.microsoft.com/ja-jp/excel/
この質問は、30日間解決しなかったために自動的に質問が一旦閉じられました。

回答

まだ回答がありません
Ads By Google

コメント(3)

2008-06-15 09:34:26

閏年は、「4で割り切れる年」じゃないですよ。

「4で割り切れれば閏年、しかし100で割り切れれば閏年ではなく、しかし400で割り切れれば閏年」です。

http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4

「西暦入れちゃうぞ」ボタンは、1905が入っちゃいますね!

2008-06-15 11:57:41

>何故ここで止まってしまうか理解できません。。。

Do While Cells(n, 7) <> "" というように、「空白じゃなかったらループ」とされていますので、イコール「空白だったらループを抜ける」=「終了」です。

#4.  mr-r00
2008-06-15 21:14:23

うるう年に関しては無知でした・・・
これもどうにかしないといけないですね・・・

トラックバック(2)

トラックバックURL: