VBA – 将date和时间replace为星期几和AM / PM
我想知道是否有方法来改变第一部分的周一,周二,周三等等,以及第二部分AM或PM是否改变mm / dd / yyyy hh:mm。 例如, "12/26/2016 7:29"
在单独的单元格中是"Monday"
,在另一个单元格中是"AM"
。
我不确定使用Replace
函数是否有用,还有其他更有用的东西。 提前致谢。
您的每个要求都可以用自定义数字格式来满足。
在A1中的12/26/2016 7:29
put =a1
在B1中,并使用cnf(ctrl + 1)作为dddd
。 在具有相同=a1
公式的C1中,使用AM/PM
的cnf
对于VBA,请使用.NumberFormat属性。
range("b1:c1").value = range("a1").value range("b1").numberformat = "dddd" range("c1").numberformat = "AM/PM"
用A1中的数据,在B1中input:
=TEXT(A1,"dddd")
在C1中input:
=RIGHT(TEXT(A1-ROUNDDOWN(A1,0),"[$-F400]h:mm:ss AM/PM"),2)
编辑#1:
下面是一些UDF()做同样的事情:
Public Function DayOfWeek(r As Range) As String Dim d As Date d = r.Value DayOfWeek = Format(d, "dddd") End Function Public Function PreOrPostNoon(r As Range) As String Dim d As Date d = r.Value PreOrPostNoon = Right(Format(d, "[$-F400]h:mm:ss AM/PM"), 2) End Function