在VBA中,当我改变一列的格式时,相邻的一个也改变
我试图格式化两列 – 一个为“常规”,一个为“数字0.000”,但是当第二个格式化时,它将第一列的格式也更改为“数字0.000”。 如果我手动select列和更改格式,它工作正常。 为什么我的macros改变了两列的格式?
这是一个代码片段:
Range("C:C").Select Selection.NumberFormat = "General" Range("D:D").Select Selection.NumberFormat = "0.000"
尽量避免使用。select,它可能会导致问题。 尝试:
Range("C:C").NumberFormat = "General" Range("D:D").NumberFormat = "0.000"
这对我行得通。
如果您手动select范围,它的工作原因是因为当您select范围时,macros中的.select
部分将使用所选内容。 避免.select
有助于确保不pipe你select了什么样的单元格/范围,它都将使用你想要的显式范围(在这里是Range(“C:C”)和Range(“D:D”))。