如何使excel VBA格式化日期
我正在excel中制作一个GUI,允许用户只需使用GUI即可将信息输入电子表格。然而,我遇到了一个问题。我似乎无法将日期格式化。这是我的代码,它是GUI的代码:如何使excel VBA格式化日期,excel,date,format,Excel,Date,Format,我正在excel中制作一个GUI,允许用户只需使用GUI即可将信息输入电子表格。然而,我遇到了一个问题。我似乎无法将日期格式化。这是我的代码,它是GUI的代码: Dim AN As Worksheet Set AN = ThisWorkbook.Sheets("Sheet2") Dim n As Long n = AN.Range("A" & Application.Rows.Count).End(xlUp).Row 'AN.Range("A" & n + 1).Value
Dim AN As Worksheet
Set AN = ThisWorkbook.Sheets("Sheet2")
Dim n As Long
n = AN.Range("A" & Application.Rows.Count).End(xlUp).Row
'AN.Range("A" & n + 1).Value ='
AN.Range("B" & n + 1).Value = Me.yyyy.Value + "-" + Me.mm.Value + "-" + Me.dd.Value
'AN.Range("C" & n + 1).Value ='
AN.Range("D" & n + 1).Value = Me.N_O_B.Value
AN.Range("E" & n + 1).Value = Me.Address_street.Value
AN.Range("F" & n + 1).Value = Me.City_info.Value
AN.Range("G" & n + 1).Value = Me.State_info.Value
AN.Range("H" & n + 1).Value = Me.Zip_info.Value
AN.Range("I" & n + 1).Value = Me.Lname.Value
AN.Range("J" & n + 1).Value = Me.Fname.Value
AN.Range("K" & n + 1).Value = Me.Minitial.Value
AN.Range("L" & n + 1).Value = Me.Suffix.Value
AN.Range("P" & n + 1).Value = Me.Busi_zip.Value
AN.Range("X" & n + 1).Value = Me.Shrt_Descript.Value
我试图让日期出现在B栏。它出现在B栏,但不是我想象的那样。因此,在GUI中输入年份、月份和日期。然后我试图让代码获取信息并将其转换为YYYY/MM/DD格式,但它不起作用。我必须用这种格式。任何建议都会有帮助。强制输入日期的原始值,然后格式化单元格
AN.Range("B" & n + 1).Value = dateserial(Me.yyyy.Value, Me.mm.Value, Me.dd.Value)
AN.Range("B" & n + 1).numberformat = "yyyy-mm-dd"
顺便说一句,正确的字符串连接运算符是一个与,例如&。虽然加号可能有效,但最好避免,尤其是在处理数字时。是否有错误?您是否得到了错误的输出?假设我输入了今天的日期。因此,理论上系统应该输出2018/06/14,但输出的是数字43265,而不是日期。然后只需将单元格格式化为正确的格式,请参见下面@Jeeped的答案。第二行将日期格式化为正确的格式。这很有效!也谢谢你告诉我不要用加号。我不知道。