Распознать в тексте, написанном в ячейке, надстрочный шрифт, и удалить его - VBA
Формулировка задачи:
Делаю в VBA парсер (структуризатор) табличных данных, как правило, числовых.
К некоторым числам вставлено примечание примерно в таком виде:
2154)
. А в тяжелых случаях и вот так:2154
. Если этот надстрочное примечание не удалить, то числовые данные безобразно исказятся в выходной таблице. Как мне через VBA понять, что вот эта часть текста в ячейке написана надстрочным шрифтом, а потому является примечанием и должна быть удалена? Сейчас содержимое листа Excel считывается в 2Д-массив вот так (очевидно, тут форматирование теряется):
Листинг программы
- Dim r As Range: Set r = Selection
- Dim aV As Variant: aV = r.Value
Решение задачи: «Распознать в тексте, написанном в ячейке, надстрочный шрифт, и удалить его»
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д