0

私は2つの日付ピッカーを持っています

Dim pday, eitday, otherday, tpenalty, difday, subpenalty As Integer
difday = Val(L1.Caption) - Val(L2.Caption)
pday = 7
eitday = 8
otherday = difday - eitday
tpenalty = 25
If difday <= pday Then
    PENALTY.Caption = 0
    ElseIf difday = eitday Then
    PENALTY.Caption = tpenalty
  ElseIf difday > eitday Then
  For i = 0 To otherday - 1
  subpenalty = subpenalty + 5
  Next i
    PENALTY.Caption = tpenalty + subpenalty
End If

問題は、月が変わると計算が無効になることです。

4

1 に答える 1

2

私はあなたのコードに基づいて推測しています(多くのことが不明であるため)が、これは2つの日付の間の日数を与えるはずです:

difday = DateDiff("d", StartDate, EndDate)

計算のために文字列から日付に変換するべきではないので、とを設定するために使用される孤独な期間の開始と終了を示すためにStartDateとを使用しました。EndDateL1L2

于 2013-02-26T10:25:24.393 に答える