Выравнивание символов в таблице 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.

Связанный контент