Вопрос или проблема
У меня есть некоторые данные с дефисами, такие как:
A
1| 2-8
2| 0-12345
3| 15-123
4| и так далее
Как мне выровнять содержимое в Word или Excel так, чтобы дефис был по центру?
Решение для Excel
Предполагая, что вы говорите о выравнивании текста в одном столбце (а не строке)
Вы можете использовать VBA, чтобы выполнить 3 шага одним щелчком
- Установите шрифт для ваших ячеек с фиксированной шириной, такой как Consolas
- Выравните ваши ячейки по центру
- Добавьте пробелы в начало или конец вашей строки, пока дефис не окажется по центру
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, так как он добавляет лишние пробелы
В Word я достиг подобного, используя табуляцию. Например, я хотел, чтобы ряд строк выравнивался по знаку умножения. Для этого я установил табуляцию по правому краю на 2 см, табуляцию по центру на 2,25 см и табуляцию по левому краю на 2,5 см. Затем текст в каждой строке выглядел так:
ТАБ“первый текст”ТАБ×ТАБ“второй текст”
Пример текста Word, выровненного по символу:
Вы можете ввести формулы в столбцы B и C, которые разделят значения столбца A на левую и правую стороны дефиса. Например, используя ваш пример, используйте left()
, чтобы поместить “2” в B1, и right()
, чтобы поместить “-32” в C1. Затем выровняйте столбец B по правому краю, столбец C по левому краю и скройте столбец A.
Ответ или решение
Выравнивание символов в Word и таблицах Excel
Если вам необходимо выровнять данные в Excel или Word так, чтобы дефис находился в центре, существует несколько подходов, которые могут помочь вам решить эту задачу. Рассмотрим оба случая более детально.
Решение для Excel
Чтобы выравнять содержимое ячеек в Excel так, чтобы дефис (−) оказался по центру, мы можем использовать код на VBA. Рассмотрим пошаговое руководство:
- Измените шрифт на фиксированный: Используйте шрифт, такой как Consolas, чтобы обеспечить равномерное отображение символов.
- Выравнивание ячеек по центру: Примените центрирование для ячеек, содержащих ваш текст.
- Добавление пробелов: Используйте VBA для программного добавления пробелов, чтобы дефис оказался в центре текста.
VBA-код
Вот пример кода, который вы можете использовать:
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
Этот скрипт проходит через все ячейки в используемом диапазоне и выравнивает данные так, чтобы дефис оказался в центре. Однако имейте в виду, что данный код изменяет ваши данные, добавляя пробелы, что может не соответствовать вашим требованиям.
Пример до и после
Вы можете наглядно увидеть разницу в выравнивании ваших данных с помощью следующе изображения:
До применения кода | После применения кода |
---|---|
2-8 | 2-8 |
0-12345 | 0-12345 |
15-123 | 15-123 |
Решение для Word
Чтобы добиться аналогичного эффекта в Word, можно использовать вкладку и выравнивание текста:
-
Настройка табуляции: Установите три табуляции:
- Оправление – справа на 2 см
- Оправление – по центру на 2,25 см
- Оправление – слева на 2,5 см
-
Ввод данных: Чтобы ваши строки были выровнены по символу умножения (×), используйте такую конструкцию:
<TAB>"первая часть"<TAB>×<TAB>"вторая часть"
Это поможет выровнять текст по нужному символу.
Альтернативный подход в Excel
Вы также можете использовать формулы в Excel:
- Разделите данные: Используйте функцию
LEFT()
для извлечения значения до дефиса иRIGHT()
для извлечения значения после дефиса. - Выравнивание ячеек: Правильно укажите выравнивание для колонки с левой стороны и для колонки с правой стороны, а затем скрыть колонку с оригинальными данными.
Эти методы помогут вам достичь желаемого выравнивания в Excel и Word, обеспечивая аккуратное и профессиональное представление ваших данных.