вариант
[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
a = Target.Validation.Formula1
If a = "=dm" Then
b = Application.Match(Target.Value, Range("dm"), 0)
c = Range("dm")(b).Value
d = Len(c)
For e = 1 To d
With Range("dm")(b).Characters(Start:=e, Length:=1).Font
f = .Superscript
g = .Subscript
End With
With ActiveCell.Characters(Start:=e, Length:=1).Font
.Superscript = f
.Subscript = g
End With
Next
End If
Application.EnableEvents = True
End Sub
[/vba]