
我有一些像這樣的連字號資料:
A
1| 2-8
2| 0-12345
3| 15-123
4| and so on
如何對齊word或excel中的內容以使連字符位於中心?
答案1
Excel 的解決方案
假設您正在討論將文字居中單列(而不是一行)
您可以使用 VBA 一鍵完成 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 公分處放置了一個左對齊標籤。然後每行上的文字如下所示:
標籤“第一個文字”標籤×標籤“第二條文字”
答案3
您可以將公式放入 B 列和 C 列中,將 A 列的值拆分為連字符的左側和右側。例如,使用您的範例,left()
將“2”放入 B1 並將right()
“-32”放入 C1。然後右對齊 B 列,左對齊 C 列,並隱藏 A 列。