除非手动编辑,否则“逗号”样式不起作用

时间:2017-09-15 08:10:15

标签: excel vba excel-vba

我有一个宏打开一些工作簿并在其中放入一些数据,在将一段数据放入单元格后,它将其样式编辑为.Style = "Comma"(在数字之间创建空格分隔符)。

但是,当我打开该文件时,我只看到一些具有“逗号”样式的单元格,而其他单元格根本没有分隔符。如果我选择一个没有可见分隔符的单元格,但鼠标光标位于公式区域并单击回车,则样式将更改为“逗号”。

我试图用.Cells(i, j).Calculate来模仿,但无济于事。

为什么某些单元格的样式不会改变,以及如何在宏内部进行更改?

PS我已经在设置中进行了自动计算。手动将样式更改为“逗号”(单击000图标也不起作用 - 仅在将光标放入单元格的公式并单击回车后才起作用。)

编辑:我将文件保存为xlsx。代码并不重要。它由Application.Open(filePath)resultWorkbook.Worksheets("sheet 1").Cells(i, j).Value = someValue组成。

1 个答案:

答案 0 :(得分:2)

你的一些号码'被存储为文本。数字格式和样式,例如'逗号'不适用于文字。

以下内容会将所有数字(和公式!)转换为可以格式化/样式化的数字量。您可能希望进一步限制范围,以免影响包含公式的区域:

With Worksheets("sheet 1")
    .UsedRange.Value = .UsedRange.Value
End With