0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EXCELの平方メートル、立方メートルは少なくとも3通りの表記があり文字コードが違う

Posted at

実証コード

平方メートルについて作成します
Excel 2010以降ですたぶん。これは後から書きます。

vb.net
Sub MakeSuqreMeter()
Range("A1:C5").Clear
Range("A1").Select
ActiveCell.FormulaR1C1 = "m" & ChrW(&HB2) '本当は00B2だが00は自動的にカットされる
Range("B1").Value = "ラテン補助文字の2。コードは&H00B2。単体でも文字として扱われる。もともとのExcelはこちらを使用していたらしい。"
Range("A2").Select
ActiveCell.FormulaR1C1 = ChrW(&H33A1)
Range("B2").Value = "記号としての平方メートル"
Range("A3").Select
ActiveCell.FormulaR1C1 = "m2"
With ActiveCell.Characters(Start:=2, Length:=1).Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
.Size = 11
.Superscript = True
End With
Range("B3").Value = "上付き文字に変換。このときの文字コードは&H0032。単体では数字。また行の高さが自動的に拡大する。"
End Sub

3つある理由

一番古いものはラテン1補助文字か

ラテン1補助ユニコード00B2 名前SuperScript 2
の上付き文字の2が存在する
10の3乗の入力方法について
IME2002、OfficeXP以降なら
「挿入」「記号と特殊文字」でコード体系を「Unicode(16進)」にして
種類「ラテン1補助」と「上付き/下付きの文字」にある数字を挿入する。
上記はUnicodeにしないと出てきませんのでご注意ください。

Excel2003の使用で特殊文字の上付き文字
というのがあるので、こちらが古いもののようだ。

書式設定で上付き文字にする

これは数字なので、単体では数字になる。コードは&H0032
少なくともExcel2003からできる。

CJK文字の単位記号

セルの書式設定
2の3乗のような上付き表示 (tp0031)
平方メートルや立方メートルなどの特殊記号を入力する方法
この解説はWordだがExcelでも使える。CJK 互換文字で単位記号として挿入する。このコードは&H33A1。

3つのコードを取り扱えるのは

おそらく完全にユニコードに移行したWindows7+Office2010以降でないと確実に動かせない。逆にラテン1補助はXpでも上付き文字が表示できる。逆にいうとラテン1補助が一番互換性が高いのかもしれない。

検索・痴漢で要注意

また、検索・置換でも実はこの文字コードの違いで検索・置換が失敗するので、意識しておかないと単位の上付き数字が検索・置換できないときが発生する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?