Распознать в тексте, написанном в ячейке, надстрочный шрифт, и удалить его - VBA
Формулировка задачи:
Делаю в VBA парсер (структуризатор) табличных данных, как правило, числовых.
К некоторым числам вставлено примечание примерно в таком виде:
2154)
. А в тяжелых случаях и вот так:2154
. Если этот надстрочное примечание не удалить, то числовые данные безобразно исказятся в выходной таблице. Как мне через VBA понять, что вот эта часть текста в ячейке написана надстрочным шрифтом, а потому является примечанием и должна быть удалена? Сейчас содержимое листа Excel считывается в 2Д-массив вот так (очевидно, тут форматирование теряется):Решение задачи: «Распознать в тексте, написанном в ячейке, надстрочный шрифт, и удалить его»
textual
Листинг программы
Sub Thor() Dim r As Range, i& On Error GoTo 1 For Each r In Selection.SpecialCells(xlCellTypeConstants, xlTextValues) For i = Len(r) To 1 Step -1 If r.Characters(i).Font.Superscript Then r.Characters(i).Delete Else Exit For End If Next r.Formula = r.Formula 'преобразование текста в число Next 1 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д