Word 或 Excel 表格中的字元對齊

Word 或 Excel 表格中的字元對齊

我有一些像這樣的連字號資料:

    A
1| 2-8
2| 0-12345
3| 15-123
4| and so on 

如何對齊word或excel中的內容以使連字符位於中心?

答案1

Excel 的解決方案

假設您正在討論將文字居中單列(而不是一行)

您可以使用 VBA 一鍵完成 3 個步驟

  1. 將儲存格設定為固定寬度的字體,例如康索拉斯
  2. 將細胞居中
  3. 在字串的開頭或結尾加上空格,直到連字符居中
Sub CenterHyphenatedContent()
    For Each cell In UsedRange
        If InStr(cell.Value, "-") > 0 Then
                                    
            cell.Font.Name = "Consolas"
            cell.HorizontalAlignment = xlCenter
            
            intLenLeft = InStrRev(cell.Value, "-") - 1
            intLenRight = Len(cell) - InStr(cell.Value, "-")
            intDiff = Abs(intLenLeft - intLenRight)
            
            If intLenLeft > intLenRight Then cell.Value = cell.Value & Space(intDiff)
            If intLenLeft < intLenRight Then cell.Value = Space(intDiff) & cell.Value

        End If
    Next
End Sub

之前和之後

在此輸入影像描述在此輸入影像描述

注意:此程式碼會更改您的 Excel 數據,因為它添加了額外的空格

答案2

在 Word 中,我使用製表符實現了類似的效果。例如,我想要一系列行在乘號上對齊。為此,我在 2 公分處放置了一個右對齊標籤,在 2.25 公分處放置了一個居中對齊標籤,在 2.5 公分處放置了一個左對齊標籤。然後每行上的文字如下所示:

標籤“第一個文字”標籤×標籤“第二條文字”

按字元對齊的 Word 文字範例

答案3

您可以將公式放入 B 列和 C 列中,將 A 列的值拆分為連字符的左側和右側。例如,使用您的範例,left()將“2”放入 B1 並將right()“-32”放入 C1。然後右對齊 B 列,左對齊 C 列,並隱藏 A 列。

相關內容