我正在 Microsoft Word 2010 中处理大量表格。我想将数字限制为小数点后三位,并对它们进行四舍五入。
例如:0.1234 将变成 0.123,1.6789 将变成 1.679。这是一项简单的任务,但我找不到方法来完成它。
注意:对于以零结尾的数字:如果有办法的话,我宁愿将它们设置为 1.3 而不是 1.300!
答案1
Word 中似乎没有内置方法来执行此操作。我能想到几个选项,但都不理想。
下载并安装自由办公室其文字处理器(Writer)具有在表格单元格中设置数据格式的选项,可以通过突出显示单元格、右键单击并选择数据格式...选项。完成后,您可以将其保存回 .docx 格式,但根据您使用的 Word 功能,您可能会丢失一些格式。保存为 .docx 后,数据类型信息不会保存,因此如果您稍后编辑它们,数字将不会保持四舍五入。
使用 VBA 宏遍历表格和单元格并将数字四舍五入。我认为以下代码应该大致满足您的要求,但可能需要进行一些调整。您可以通过按Alt+创建新的宏F8,为其命名,
RoundAllNumbersInTables
然后单击创造。
Sub RoundAllNumbersInTables()
Dim currentTbl As Table
Dim currentCl As Cell
Dim currentRow As Row
Dim currentText As String
For Each currentTbl In ActiveDocument.Tables
For Each currentRow In currentTbl.Rows
For Each currentCl In currentRow.Cells
currentText = Trim(Left(currentCl.Range.Text, Len(currentCl.Range.Text) - 2))
If IsNumeric(currentText) Then
currentCl.Range.Text = Format(Round(currentText, 3), "0.###")
End If
Next
Next
Next
End Sub
显然,你必须小心,不要把事情搞乱,所以最好备份你的文件。
总的来说,如果可能的话,我认为最好使用 Excel 来处理这种事情,因为它更适合。