Excel文本特殊对齐

时间:2014-09-20 13:15:29

标签: excel alignment

我在6个连续的单元格中包含以下行(6行和 1列):

ich werde gereist sein  
du wirst gereist sein  
er wird gereist sein  
wir werden gereist sein  
ihr werdet gereist sein  
sie werden gereist sein  

我想像以前那样对齐前面的行:

ich  werde   gereist  sein  
du   wirst   gereist  sein  
er   wird    gereist  sein  
wir  werden  gereist  sein  
irh  werdet  gereist  sein  
sie  werden  gereist  sein

有人知道怎么做吗?

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:0)

对于您的示例,最实用的方式可能是切换(如果需要)非比例字体(例如Courier New)并手动添加空格以适应。如果您经常需要这个或非常多的单元格,那么我会建议VBA - 但您没有标记您的问题。

您可以搜索duer,然后分别替换为du#er#等。(此处#代表空格!) - 然后ger eist返回gereist

答案 1 :(得分:0)

选择要调整其内部对齐的单元格并运行此小宏:

Sub FixData()
    Dim mx As Long
    Selection.Font.Name = "Courier New"
    mx = 1
    For Each r In Selection
        v = r.Text
        ary = Split(v, " ")
        For i = LBound(ary) To UBound(ary)
            If mx < Len(ary(i)) Then mx = Len(ary(i))
        Next i
    Next r

    For Each r In Selection
        v = r.Text
        ary = Split(v, " ")
        For i = LBound(ary) To UBound(ary)
            ary(i) = paddre(ary(i), mx)
        Next i
        r.Value = Join(ary, " ")
    Next r
End Sub



Public Function paddre(sIn, xTra As Long) As String
    paddre = sIn
    If Len(sIn) = xTra Then
        Exit Function
    End If
    While Len(paddre) <> xTra
        paddre = paddre & " "
    Wend
End Function