【发布时间】:2017-09-15 08:10:15
【问题描述】:
我有一个宏,可以打开一些工作簿并将一些数据放入其中,在将一条数据放入单元格后,它会将其样式编辑为.Style = "Comma"(在数字之间设置空格分隔符)。
但是,当我打开该文件时,我只看到一些具有“逗号”样式的单元格,而其他单元格根本没有分隔符。如果我选择一个没有可见分隔符的单元格,但将鼠标光标放在公式区域并单击 Enter,则样式会更改为“逗号”。
我尝试用.Cells(i, j).Calculate模仿它,但无济于事。
为什么某些单元格的样式没有改变,如何在宏内部改变?
PS 我已经在设置中进行了自动计算。手动将样式更改为“逗号”(单击 000 图标也不起作用 - 仅在我将光标放在单元格的公式中并单击 Enter 后才起作用)。
编辑:我将文件保存为xlsx。代码没那么重要。它由Application.Open(filePath) 和resultWorkbook.Worksheets("sheet 1").Cells(i, j).Value = someValue 组成。
【问题讨论】:
-
你能发布更多你的代码吗?你将文件保存为什么(.csv,.xlsx)?
-
听起来他们在里面是文本。重新输入它们将导致 Excel 计算回一个数值,该数值采用格式/样式。
-
尝试用
CDec(someValue)甚至CDec(Application.WorksheetFunction.Trim(someValue))替换someValue以确保完全确定 -
选择错误的单元格之一。扩大宽度。确保它没有左对齐、右对齐或居中。如果数字自动左对齐,则它是文本而不是数字,这将导致问题。