这是我的专栏I的图片。我有一些长格式的日期(例如:2019年6月12日,星期三),还有一些短格式的日期(13/02/2017)。>
我希望所有日期都被格式化为黄色单元格(长格式),但是我无法更改格式。当我尝试更改格式时,没有任何反应。
PS:如果有帮助,我必须在此工作表上做一些以前的工作,在该工作表中,我转到了数据->文本到列->并为此步骤选择了日期和格式dd / mm / yy。但似乎在执行了该步骤之后,我无法恢复为其他任何格式。
如果您对解决此问题有任何想法,请告诉我。
谢谢:)
答案 0 :(得分:1)
选择抵抗格式更改的单元格并运行此简短的VBA宏:
Sub DateFixer()
Dim cell As Range
Dim v As String, d As Date
For Each cell In Selection
v = cell.Text
If InStr(1, v, "/") <> 0 Then
arr = Split(v, "/")
d = DateSerial(arr(2), arr(1), arr(0))
cell.Clear
cell.Value = d
cell.NumberFormat = "dddd,mmmm,dd,yyyy"
End If
Next cell
End Sub
之前:
及之后:
答案 1 :(得分:0)
@ Gary'sStudent答案的另一个选择是使用CDate。如Gary所述,请仅选择拒绝日期格式的单元格,如果选择格式正确的单元格,则会收到错误消息。
Dim cel As Range
For Each cel In Selection
cel.Value = CDate(cel.Value)
cel.NumberFormat = "dddd,mmmm/dd/yyyy"
Next cel