Hallo Jochen,
Ja, das sehe ich auch so (hatte ich ja ausprobiert!). Aber
dass es dann wenigstens keine Shortcuts gibt… für Fett,
Kursiv, Unterschrichen geht das ja auch.
Excel kann natürlich während der Eingabe etwas tun, Vba wenig.
Was meinst du mit „oben auf ein Symbol“?
Sorry, mein Fehler, ich war bei alten Excelversionen 
Nachteil vom Textfeld, während du im Textfeld bist sind
Formatierung wie Fett usw deaktiviert und auch über Format
kommste nicht an den Text.
Strg+F,K,U funktionieren einwandfrei!
Ja, wenn du in einer Zelle bist, aber nicht in einem Textfeld.
Das ist der Punkt, den ich grad nicht weiß, also ob man in
einer Textbox Text unterschiedlich formatieren kann.
Das geht mit
With ActiveCell.Characters(Start:=4, Length:=3).Font
Ja, aber TextBox1.Characters gibt es nicht.
Mhm. Große Probleme. Das war mir leider schon irgendwie klar
Nachstehend ein Workaround, Eingabe efolgt über ein Textfeld.
Im Text gibst du einfach ein # ein wenn ab da hochgestellt werden soll und noch eines wenn Hochstellung wieder beendet werden soll.
Das zweite kannst du auch weglassen, dann wird vom Ersten # bis Textende hochgestellt.
Im Beispiel habe ich nur über A1 ein Textfeld gebaut. Es ist leicht gelblich damit du sehen kannst wann es da ist.
Probiere einfach mal in dieser Beispielmappe.
Sie ist getestet mit XL2000, nachstehend der ganze Code
Gruß
Reinhard
Option Explicit
Private Sub TextBox1\_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then TextBox1.TopLeftCell.Offset(0, 1).Select
End Sub
Private Sub TextBox1\_LostFocus()
Dim Von As Integer, Bis As Integer
Range("A1") = TextBox1.Text
Von = InStr(Range("A1"), "#")
Bis = InStr(Von + 1, Range("A1"), "#")
If Bis = 0 Then Bis = Len(Range("A1")) + 1
Range("A1") = Replace(Range("A1"), "#", "")
If Von \> 0 Then
Range("A1").Characters(Start:=Von, Length:=Bis - Von - 1).Font.Superscript = True
End If
End Sub
Private Sub Worksheet\_SelectionChange(ByVal Target As Range)
With TextBox1
If Target.Address(0, 0) "A1" Then
.Visible = False
Else
.Text = Target.Text
.Top = Target.Top
.Left = Target.Left
.Height = Target.Offset(1, 0).Top - Target.Top
.Width = Target.Offset(0, 1).Left - Target.Left
.Visible = True
.SelStart = 0
.SelLength = Len(.Text)
.Activate
End If
End With
End Sub