如何在 Excel 中格式化多行数字单元格?

Posted

技术标签:

【中文标题】如何在 Excel 中格式化多行数字单元格?【英文标题】:How to format multi-line cell of numbers in Excel? 【发布时间】:2012-02-06 12:40:18 【问题描述】:

给定一个包含多行的 Excel 单元格(文本换行)。

例如

5501.700
640.8690
1081.45600
41.100

我想将所有数字(在这个单个单元格中)格式化为有 2 个小数位和千位分隔符。我有哪些选择来完成这项任务?

【问题讨论】:

【参考方案1】:

我认为唯一的方法是使用宏;读取值,分割每一行,格式化,加入。

ALT+F11,插入->模块并添加;

Public Function FORMATLINES(cell As Range) As String
Dim data() As String, i As Long
data = Split(cell.Text, vbLf)
For i = 0 To UBound(data)
    If IsNumeric(data(i)) Then data(i) = FormatNumber(data(i), 2, vbTrue, vbFalse, vbTrue)
Next
FORMATLINES = Join(data, vbLf)
End Function

对于

=FORMATLINES(A1)

给我;

5,501.70
640.87
1,081.46
41.10

【讨论】:

听起来不错,对于新单元格,我还应该将 Text WrappingAlignment 选项设置为 true。

以上是关于如何在 Excel 中格式化多行数字单元格?的主要内容,如果未能解决你的问题,请参考以下文章

Excel表格自定义数字格式如何设置

在一个Excel单元格内输入多行内容

java poi 一个单元格写如多行数据

我的excel表格打开的单元格格式默认为日期,请问如何让excel表格打开的单元格格式默认为常规

poi读取Excel时,如果单元格设置的是数字格式,如何解决整数与小数问题

在EXCEL中将数字转换为文本时怎样在单元格前边自动加0