我想将G, H and I
列的数字格式设置为短日期格式(dd.mm.yyyy
)。我的代码:
sheet.Range("G1").End(xlDown).NumberFormat = "dd.mm.yyyy"
sheet.Range("H1").End(xlDown).NumberFormat = "dd.mm.yyyy"
sheet.Range("I1").End(xlDown).NumberFormat = "dd.mm.yyyy"
我认为woudl已经足够了,但是遗憾的是Excel并没有将所有单元格都转换为给定的格式。更有可能是随机的:
单元格G84(此列的最后一个单元格),H2,I2(这些列的第一个单元格)现在采用适当的格式,其余的仍然只是数字。我在上面做错了什么吗?
答案 0 :(得分:1)
来自“宏记录器”:
Sub Macro1()
Columns("G:I").NumberFormat = "m/d/yyyy"
End Sub
您会得到的:
如果您希望将列中的第一个单元格中的单元格移至空格之前的第一个单元格,则可以:
Sub Macro1()
With Sheet1
.Range(.Range("E1"), .Range("E1").End(xlDown)) = .NumberFormat = "m/d/yyyy"
End With
End Sub
要获取从E1
到E列中最后使用的单元格的范围:
Sub Macro1()
With Sheet1
MsgBox .Range(.Range("E1"), .Range("E" & .Rows.Count).End(xlUp)).Address
.Range(.Range("E1"), .Range("E" & .Rows.Count).End(xlUp)).NumberFormat = "m/d/yyyy"
End With
End Sub
答案 1 :(得分:1)
提供的Sheet
是Sheet Code Name
,请像这样尝试...
Sheet.Range("G1", Range("G" & Rows.Count).End(xlUp)).NumberFormat = "dd.mm.yyyy"
Sheet.Range("H1", Range("H" & Rows.Count).End(xlUp)).NumberFormat = "dd.mm.yyyy"
Sheet.Range("I1", Range("I" & Rows.Count).End(xlUp)).NumberFormat = "dd.mm.yyyy"