从VBA中的日期减去?

And*_*Ion 14 excel vba

我在使用Excel VBA中的日期操作时遇到大问题.我有一个具有文本框的表单,用户将在其中输入日期.问题是他可能以不同的格式输入(例如,8月1日的1.08.2011,或同一天的8/1/11).现在我想要做的是从他输入TextBox的那一天减去几天.到目前为止我不得不成功,我不知道该怎么做.我试过这样的事

Format((Format(Me.datalivrare.Value, "dd.mm.yyy") - 4), "dd.mm.yyyy")
Run Code Online (Sandbox Code Playgroud)

datalivrare是用户输入日期的文本框,4是我想从该日期减去的天数...我希望格式始终为dd.mm.yyyy,无论他们在该文本框中输入什么内容.

Tar*_*ryn 29

我建议查看VBA的DateAdd函数

http://www.techonthenet.com/excel/formulas/dateadd.php

http://office.microsoft.com/en-us/access-help/dateadd-function-HA001228810.aspx

您可以执行以下操作:

Format(DateAdd("d", -4, CDate(Me.datalivrare.Value)), "dd.mm.yyyy")
Run Code Online (Sandbox Code Playgroud)


Ein*_*cio 6

最好在vba上添加和减去日期是dateadd()(带有负数的减法),在你的示例代码中,格式字符串上缺少y(它只接受1,2或4 y)


Lan*_*rts 6

首先转换为Date,然后减去天数,然后适当格式化:

Format(DateAdd("d", -4, CDate(Me.datalivrare.Value)), "dd.mm.yyyy")
Run Code Online (Sandbox Code Playgroud)