Excel 单个单元格内的行距

Excel 单个单元格内的行距

据称这是单个细胞A1的数据:

Score     Remarks
1-10     25
  25-38      jk
 100-150   merry

我需要一个快捷方式,以便能够以某种方式对齐,使数据之间的间距均匀。

Score     Remarks
1-10      25
25-38     jk
100-150   merry 

我需要这样的。注意:不建议在中间使用空格键,如果数据很大怎么办?

答案1

尝试以下用户定义函数:

Public Function PrettyOutput(sIN As String) As String
    Dim hr As String, i As Long, maxL As Long
    Dim U As Long

    hr = Chr(10)
    If InStr(1, sIN, hr) = 0 Then
        PrettyOutput = sIN
        Exit Function
    End If

    ary = Split(sIN, hr)
    U = UBound(ary)
    For i = 0 To U
        ary(i) = Application.WorksheetFunction.Trim(ary(i))
    Next i

    maxL = 0
    For i = 0 To U
        bry = Split(ary(i), " ")
        If Len(bry(0)) > maxL Then maxL = Len(bry(0))
    Next i

    For i = 0 To U
        bry = Split(ary(i), " ")
        PrettyOutput = PrettyOutput & bry(0) & Application.WorksheetFunction.Rept(" ", maxL - Len(bry(0))) & " " & bry(1) & hr
    Next i
    PrettyOutput = Mid(PrettyOutput, 1, Len(PrettyOutput) - 1)
End Function

用户定义函数 (UDF) 非常容易安装和使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 之后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除 UDF:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要从 Excel 使用 UDF:

=我的函数(A1)

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关 UDF 的详细信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必须启用宏才能使其工作!

因此,A1, 在B1进入:

=PrettyOutput(A1)

和格式B1使用类似字体导游

在此处输入图片描述

答案2

数据 -> 文本到列听起来就是您想要的。不要试图将所有内容放在一个单元格中,而是将其分成几个单元格。

相关内容