在工作表中输入日期时,Excel为您输入日期提供了很大的自由度。包括一年在内,可以授予自由的一个领域。如果包括一年(例如3/2/08),那就太好了。如果不包括年份(例如3/2),则Excel会很有帮助地将当前年份添加到您输入的年份中。

在大多数情况下,这不是问题。但是,对于那些输入日期“回绕”到去年的日期来说可能是个问题。例如,许多人在工作表中输入上一个月或两个月的日期。在大多数月份中这不是问题,因为过去一两个月与当月在同一年。但是,当您输入的日期可能是上一年的11月和12月时,这可能是一个问题。

一种解决方案是在输入日期时始终输入年份。毫无疑问,在数据输入过程中保留年份可以更快,允许Excel将其添加到您的输入中。因此,最好提出一种方法来输入一年中前两个月中的日期,并在其后附加上一年。

一种解决方法是更改​​计算机上的系统日期。

在Windows中,将系统日期递减一年。然后,您输入的所有日期将更改为去年。但是,这会在其他程序中产生影响,除非您记得将系统日期改回来​​。

如果您在1月下旬和2月初开始输入今年的日期,并且Excel会自动将上一年的日期附加到这些日期中,则这也会使您的数据输入混乱。

做任何更复杂的事情必然涉及到宏的使用。

考虑以下示例,应将其添加到工作表的代码窗口中:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub     If Target = "" Then Exit Sub     If Target.Column <> 1 Then Exit Sub

If DateValue(Target) > Date Then         Application.EnableEvents = False             Target = DateAdd("yyyy", -1, Target)

Application.EnableEvents = True     End If End Sub

只要工作表中有更改,此宏就会自动运行。如果对A列中的单个单元格进行更改,并且输入的日期大于今天的日期,则从输入的内容中减去一年。

如果您按常规输入的日期在当年的最后一年或当前月份之内,这将非常有用。如果您专门添加一个远期日期(例如在3/2/16输入6/11/17),则年份仍将增加一。当然,可以对宏进行修改,以检查输入的日期是否在一年的最后两个月中,以及该日期实际上是在一年的前两个月中输入的,然后再进行减量运算。那一年。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3360)适用于Microsoft Excel 97、2000、2002和2003。