Если вы хотите конвертировать subcript/текст Надстрочный текст в соответствующие HTML-разметку, создать функция VBA(нажмите клавишу ALT+F11 перейти в Редактор) с таким кодом:
Function SubToHtml(rng As Range)
Dim c, ns As String
For i = 1 To Len(rng.Value) Step 1
c = rng.Characters(i, 1).Text
If rng.Characters(i, 1).Font.Subscript Then
ns = ns & "<sub>" & c & "</sub>"
ElseIf rng.Characters(i, 1).Font.Superscript Then
ns = ns & "<sup>" & c & "</sup>"
Else
ns = ns & c
End If
Next i
'to take care of adjacent sub/superscript characters
ns = Replace(ns, "</sub><sub>", "")
ns = Replace(ns, "</sup><sup>", "")
SubToHtml = ns
End Function
использование
предполагая, что A1 содержит строку C2O3. Введите эту формулу в пустую ячейку:
=subtohtml(A1)
это должно показать это в ячейке в результате:
C<sub>2</sub>O<sup>3</sup>
замените имя функции, если хотите. Я не мог придумать более модная. :Д
AFAIK, нет решения, которое не включает VBA; так как вам придется пройти через каждый символ в ячейке и проверить его регистр или формат шрифта.
Edit:
я предположил, что ваши тексты не будут содержать никаких смежных символов Sub / superscript. На всякий случай, я вставил код, который будет заботиться о строках, которые рядом суб/надстрочного знака, такие как Co20.