web-dev-qa-db-de.com

Wie bekomme ich das quadratische Symbol (²) in einer Zeichenfolge

Ich versuche, ² in einer Zeichenfolge anzuzeigen. Als Beispiel sollte sich meine Ausgabe in einem ActiveX-Textfeld befinden und R² = 50 lesen.

Ich habe die folgenden zwei Aussagen ausprobiert: 

Selection.Characters.Text = "R&ChrW(&HB2)&" = " & variable

dies zeigt jedoch einen 0 als Ausgabe in der Textbox an. Und das:

Selection.Characters.Text = "R² = " & variable

zeigt auch einen 0 an.

4
aconnelly

Nicht sicher, auf welche Art von Textfeld Sie sich beziehen. Ich bin mir jedoch nicht sicher, ob Sie dies in einem Textfeld in einem Benutzerformular tun können.

Ein Textfeld auf einem Blatt können Sie jedoch.

Sheets("Sheet1").Shapes("TextBox 1").TextFrame2.TextRange.Text = "R2=" & variable
Sheets("Sheet1").Shapes("TextBox 1").TextFrame2.TextRange.Characters(2, 1).Font.Superscript = msoTrue

Und das Gleiche für eine Excel-Zelle

Sheets("Sheet1").Range("A1").Characters(2, 1).Font.Superscript = True

Wenn dies nicht der Fall ist, müssen Sie in Ihrer Frage weitere Informationen angeben.

EDIT: hat dies nach dem Kommentar geschrieben

3
Rory

Keine Notwendigkeit, zu kompliziert zu werden. Wenn Sie nur ² benötigen, verwenden Sie die Unicode-Darstellung.

http://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

(So ​​nehme ich an, Sie haben das ² in Ihrer Frage angezeigt.)

1
Brad

Ich erstelle Gleichungen mit Zufallszahlen in VBA und für x quadriert in x ^ 2.

Ich lese jeden Text (oder Textfeld) in eine Zeichenfolge.

Ich lese dann jedes Zeichen in der Zeichenfolge und notiere die Position der ^ ("hats") in jedem.

Angenommen, die Hüte waren auf den Positionen 4, 8 und 12.

Ich "hacke" dann den ersten Hut - die Position des zu hochzeichnenden Zeichens ist jetzt 4, die Position der anderen Hüte ist jetzt 7 und 11. .. Ich schneide den zweiten Hut aus, das Zeichen zu hochgestellt ist jetzt um 7 und der Hut hat sich auf 10 bewegt .. Ich hacke den letzten Hut aus .. der hochgestellte Buchstabe ist jetzt Position 10.

Ich wähle nun jedes Zeichen nacheinander aus und ändere die Schrift in hochgestellt.

So kann ich eine ganze Tabelle mit Algebra mit ^ füllen und dann eine Routine aufrufen, um sie aufzuräumen.

Für große Kräfte wie x bis 23 baue ich x ^ 2 ^ 3 und die obige Routine macht es.

0
Jim Beckwith