- ベストアンサー
VBAで期間が何か月間なのかを取得する方法
VBAで期間が何か月間なのかを取得する方法を教えてください。 Sub test1() Dim dateStart As Date Dim dateEnd As Date dateStart = "2013/1/1" dateEnd = "2013/12/31" Debug.Print 12 & "カ月です" End Sub この場合、12か月ですが、 例えば dateStart = "2013/7/1" の場合、6カ月を返したいのですが それを取得するコードを教えていただけますか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
差の表示指定記述が誤ってるかも。 Debug.Print datediff("m", dateStart, dateEnd) & "カ月です" これが12を返すのか、11を返すのか 11を返すなら Debug.Print datediff("m", dateStart, dateEnd)+1 & "カ月です"
その他の回答 (2)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
ご質問の内容が、月だけで考えればよさそうなこと、また、バグが疑われる DateDiff 関数の使用を避けるという意味で、下のとおり書いてみました。 単純に、足し引きすればいいだけです。難しく考え過ぎなのでは? Sub test1() Dim dateStart As Date Dim dateEnd As Date dateStart = "2013/7/1" dateEnd = "2013/12/31" Debug.Print Month(dateEnd) - Month(dateStart) + 1 & "カ月です" End Sub
お礼
ありがとうございました。
- bin-chan
- ベストアンサー率33% (1403/4213)
いま、VBA動かせる環境にないんですが > Debug.Print 12 & "カ月です" > End Sub 定数12を表示してますよね? Debug.Print datediff(m, dateStart, dateEnd) & "カ月です" でどうなります?
お礼
ありがとうございました。
お礼
ありがとうございました。