私がここでやろうとしているのは、値の値が等しいかどうかを確認してそこから移動することです。 STDの場合は、請求書日付に曜日を追加するだけです。 BONM(翌月の始まり)の場合、請求書の日付に日を追加して、翌月の初めを回答として参照する必要があります。 EOM(月末)に請求書日付に日を追加し、その当月の末尾を参照する必要がある場合。私が得ているエラーのイメージを添付しました。さまざまな方法で調光しようとしましたが、それでも動作していません。VBA関数エラー
Function OldMaturity(term As Range, invoicedate As Range, days As Range) As Date
Dim term As String
Dim invoicedate As Date
Dim days As Long
Dim val1 As Long
Dim val2 As Long
term = Termtype.Value
invoicedate = invoicedate.Value
days = days.Value
val1 = val1.Value
val2 = val2.Value
If term = "STD" Then
OldMaturity = invoicedate + days
Exit Function
End If
If term = "BONM" Then
val1 = invoicedate + days
val2 = DateAdd("m", 1, val1)
OldMaturity = DateSerial(Year(val2), Month(val2), 1)
Exit Function
End If
If term = "EOM" Then
val1 = invoicedate + days
OldMaturity = DateSerial(Year(val1), Month(val1) + 1, 0)
Exit Function
End If
End If
End Function
必要はありません。 –
実際には**これを実行してはいけません。そうしないと、コンパイルエラーが発生します。 – Andre