■課題
ExcelVBAで、「1回目に実施した日にちから、2回目実施までに、”〇年●カ月●日経過した”」ということが、MsgBoxなどででるように、マクロを組みたい。
■現在の問題
色々ググってみたり、自分の浅い知識で組んではみたが、現状、1回目に実施した日にちから2回目実施するまで、〇年〇カ月〇日の、〇の部分が、すべて同じ数値の内容でしか表せていない。
例:1回目の実施日 2021/12/13
2回目の実施日 2022/02/10
であった場合、「1年2カ月60日」みたいな感じで、「〇カ月も、〇日も表記は違えど意味は同じ」となってしまい、〇年に関しては、1年経っていなくても、「1年」と表記されてしまう。
実際は、「0年1カ月28日」が正解だと思うし、目指す目標もまさに、「0年1カ月28日」のような、「今どれだけ経過したかがわかるようにしたい」
■私が書いたコード
Sub 実施の経過計算 ()
Dim Date1 as Date
Dim Date2 as Date
Date1 = Input("1回目の実施日を入力してください。yyyy/mm/dd形式")
Date2 = Input("2回目の実施日を入力してください。yyyy/mm/dd形式")
a = DateDiff("yyyy",Date1,Date2)
b = DateDiff("m",Date1,Date2)
C = DateDiff("d",Date1,Date2)
MsgBox a & "年" b & "カ月" & C & "日が経過しました"
End Sub
■伝えたいこと
VBAを学習して、まだ日が浅く、教材、ネットなどいろいろ拝見しても、
ヒントを得るてがかりが、見いだせずにいます。
間違いだらけだとは思いますが、ぜひみなさまに、ご教示いただきたく、
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/16 00:46