|
▼飛ばない豚 さん:
すばらしい回答ありがとうございました。
解決しました。
また、よろしくお願いします。
>▼初心者 さん:
>
>私の使っているコード(ちょっと改)です。
>'---------------------------------------------------------------
>Function fxKIKANcalc(ByVal 日付S As Date, ByVal 日付E As Date) As String
> Dim myDateS As Date '開始年月日
> Dim myDateE As Date '終了年月日
> Dim myFUGO As String '日付S>日付Eの場合、計算結果にマイナスを付ける
> Dim myYY As Long '年数
> Dim myMM As Long '月数
> Dim myDD As Long '日数
> Dim myYYs As Long '開始年
> Dim myMMs As Long '開始月
> Dim myDDs As Long '開始日
> Dim myYYe As Long '終了年
> Dim myMMe As Long '終了月
> Dim myDDe As Long '終了日
>
> If 日付S < 日付E Then
> myFUGO = ""
> myDateS = 日付S
> myDateE = 日付E + 1
> Else
> myFUGO = "-"
> myDateS = 日付E
> myDateE = 日付S + 1
> End If
>
> myYYs = Year(myDateS)
> myMMs = Month(myDateS)
> myDDs = Day(myDateS)
> myYYe = Year(myDateE)
> myMMe = Month(myDateE)
> myDDe = Day(myDateE)
>
> myDD = myDDe - myDDs
> If myDD < 0 Then
> myDDs = Day(DateAdd("m", myYYe * 12 + myMMe - _
> (myYYs * 12 + myMMs) - 1, myDateS))
> myDD = myDDe - myDDs + Day(DateSerial(myYYe, myMMe, 0))
> myMMe = myMMe - 1
> End If
>
> myMM = myMMe - myMMs
> If myMM < 0 Then
> myMM = myMM + 12
> myYYe = myYYe - 1
> End If
>
> myYY = myYYe - myYYs
>
> '表示形式を整える
> fxKIKANcalc = myFUGO & myYY & "年" & myMM & "ヶ月" & myDD & "日"
>End Function
>'-------------------------------------------------------------
>'注)同じ20日〜15日でも、月によって日数は違ってくる。
>'例1 2003/01/20〜2004/03/15 → 01年01ヶ月25日
>'例2 2003/01/20〜2004/04/15 → 01年02ヶ月27日
>
>
>標準モジュールに上記コードを貼り付けて、
>クエリー等から
>式:fxKIKANcalc("2006/04/01","2007/05/31")
>というように使用します。
>
>参考までに。
|
|