在VBA中,当我更改一列的格式时,相邻的列也会更改

时间:2015-07-23 16:51:26

标签: excel vba excel-vba

我正在尝试格式化两列 - 一列为"一般"和#34;编号0.000,"但是当第二个格式化时,它会将第一列的格式更改为" Number 0.000"同样。如果我手动选择列并更改格式,它可以正常工作。为什么我的宏改变了两列的格式?

以下是代码段:

Range("C:C").Select
Selection.NumberFormat = "General"
Range("D:D").Select
Selection.NumberFormat = "0.000"

1 个答案:

答案 0 :(得分:2)

尽量避免使用.Select,这可能会导致问题。尝试:

Range("C:C").NumberFormat = "General"
Range("D:D").NumberFormat = "0.000"

这适合我。

如果您手动选择范围,它的工作原因是因为当您选择范围时,宏中的.select部分将使用所选内容。避免.select有助于确保无论您选择哪个单元格/范围,它都将使用您想要的显式范围(在这种情况下,范围(" C:C")和范围(&) #34; d:d&#34))