我有一些带连字符的数据,例如:
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 列。