我有一些代码遍历列,以查找列中的特定结尾(_END)。如果找到了,它将循环浏览该列中的行,从而更改日期格式。这按预期工作,我对此没有任何问题。但是,我也需要UCase行。现在,它将输出类似“ 01-Jan-2016”的日期。但是,我需要将其设置为“ 2016年1月1日”。我下面的代码给我带来麻烦。
lngColHeaders = Cells(5, Columns.Count).End(xlToLeft).Column
For X = 1 To lngColHeaders
If (Right(Cells(5, X), 4)) = "_END" Then
LastRowDates = Cells(Rows.Count, X).End(xlUp).Row
For ZZ = 6 To LastRowDates Step 1
Cells(ZZ, X).NumberFormat = "dd-MMM-YYYY"
UCase (Cells(ZZ, X))
Next ZZ
End If
Next X
就像我说的那样,似乎可以正确格式化它们,但是UCase (Cells(ZZ,X))
似乎什么也没做。非常感谢您的帮助。
答案 0 :(得分:1)
我认为您需要将单元格设置为文本格式,然后执行UCase
和Format
。
Cells(ZZ, X).NumberFormat = "@"
Cells(ZZ, X).Value = UCase(Format(Cells(ZZ, X).Value, "dd-MMM-YYYY"))