• ベストアンサー

エクセルVBAの入力文字(unicode)について

VBA初心者ですが宜しくお願いします。 質問ですが、任意のセルにunicodeにしかない文字(?)を、VBAにて変数に入力した際に、"?"になってしまいます。 例:セルA1に"㎥"(立方メートル)が入った文字列、"固体Bの体積は1㎥です。"と入力  【VBA】   dim Ac as string   Ac=cells(1,1).value 上記の場合、変数Acの結果が"固体Bの体積は1?です。"となります。 "?"にならないようにするにはどうしたらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >  dim Ac as string > >  Ac=cells(1,1).value それは、その表示する媒体の問題で、きちんとUnicode では受け取っています。 あえて、VBA上で、変数 Ac を表示するためには、例えば、UserForm のTextBox や Label を使うなりしなければなりません。 例: UserForm 上のテキストボックスと、ラベルに表示した。 Private Sub CommandButton1_Click() Dim Ac As String   Ac = Cells(1, 1).Value   TextBox1.Text = Ac   Label1.Caption = Ac End Sub

nakano2007
質問者

お礼

ありがとうございます。 教えていただいた方法で表示はできました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクセルVBAの世界の話ではなくなって、無理でしょう。 ーー エクセルで話題にできそうな件を1つ Sub test01() Range("b4") = "123m3" Range("B4").Characters(Start:=5, Length:=1).Font.Superscript = True End Sub を実行してみてください。 質問の主旨とは違うので関連というところです。 文字列だし、何もしないと左詰ですし、計算には使えません。 ただ右詰めには設定できます 平方メートルは文字コードがあるようです。書式でユーザー定義 #,###"m2" 書式の設定もユーザー定義を使うとしても、立方メートルは文字が打ち込めないので上手くいかないでしょう。

nakano2007
質問者

お礼

ありがとうございます。 参考になりました。

関連するQ&A