在Excel VBA中只input一天来创build确切的date

在下面的Excel工作表的图片中,第一列的标题,以及之后的第七列的标题包含一个月和一年。

我的项目

我正在考虑一些可以使这些标题更快地input完整date的代码。 既然月份和年份已经存在了,我想,一定要有一种方法来进入一天,并把整个事情搞清楚。 例如,如果在单元格A26中input“21”,则会导致“2/21/2015”。

任何人都有一个想法,我可能会得到这个输出?

编辑:感谢在这个论坛上的有益回复,我想清楚如何做到这一点。 这里是我的成品的代码,以防有人想要做类似的事情:

Private Sub Worksheet_change(ByVal Selection As Range) Set Sel = Selection If Sel.Count > 1 Then Exit Sub End If If (Sel.Column - 1) Mod 7 = 0 Or Sel.Column = 1 Then 

“就我而言,date列总是遵循1,8,15的模式…

 If Sel.Value > 31 Or Sel.Value = "" Then Exit Sub Else Sel.NumberFormat = "General" Sel.Value = Left(Cells(1, Sel.Column), InStr(Cells(1, Sel.Column), ",") - 1) & " " & _ Sel.Value & Right(Cells(1, Sel.Column), 6) Selection.NumberFormat = "m/d/yyyy" End If End If End Sub 

如何inputdate编号,selectinput这些date编号的范围,然后运行以下内容:

 Sub Add_month_year() Dim c As Range For Each c In Selection c = Left(Cells(1, c.Column), InStr(Cells(1, c.Column), ",") - 1) & " " & _ c.Value & Right(Cells(1, c.Column), 6) Next End Sub 

这应该返回date代码中的完整date,然后您可以根据自己的情况进行格式化。