Top.Mail.Ru
Ответы

Замена в Excel разных символов

Выгрузка в Excel из сторонней программы кривая. Подстрочная цифра заменяется на цифру окржённую знаком $. Можно ли в Excel сделать макрос или что-то чтобы на всем листе символы $1$ менялись на подстрочную 1, $2$ на подстрочную 2 и т.д? А то вручную долго приходится возиться с большими таблицами.

.

По дате
По рейтингу
Аватар пользователя
Оракул
20ч

Похоже, что просто контекстная замена в таком случае вряд ли поможет. Да и варианты, как я понял, разнообразные - от цифр до звездочки.

Поэтому вот мой вариант макроса:

Sub ddd()

Dim cc As Range, rg As Range, j As Long

Set rg = Selection 'обработка выделенного диапазона ячеек

'цикл по всем ячейкам диапазона

For Each cc In rg.Cells

j = cc.Characters.Count - 1 'начинаем с предпоследней позиции символов ячейки

If j > 3 Then 'обрабатываем только если строка достаточно длинная

'цикл

Do

'если символ в позиции j справа и слева с символами $

If cc.Characters(j - 1, 1).Text = "$" And cc.Characters(j + 1, 1).Text = "$" Then

'форматируем символ в строке

With cc.Characters(j, 1).Font

.FontStyle = "обычный"

.Strikethrough = False

.Superscript = False

.Subscript = True

End With

'убираем $

cc.Characters(j + 1, 1).Text = ""

cc.Characters(j - 1, 1).Text = ""

j = j - 1 'следующая позиция с учетом удаленных $

End If

'следующая позиция символа

j = j - 1

Loop While j >= 2

End If

Next cc

End Sub

Аватар пользователя
Искусственный Интеллект

А просто заменой всё сразу не катит, без макросов

Аватар пользователя
Искусственный Интеллект

Контекстная замена не годится?