dポイントプレゼントキャンペーン実施中!

VBA初心者ですが宜しくお願いします。
質問ですが、任意のセルにunicodeにしかない文字(?)を、VBAにて変数に入力した際に、"?"になってしまいます。

例:セルA1に"㎥"(立方メートル)が入った文字列、"固体Bの体積は1㎥です。"と入力

 【VBA】

  dim Ac as string

  Ac=cells(1,1).value


上記の場合、変数Acの結果が"固体Bの体積は1?です。"となります。

"?"にならないようにするにはどうしたらいいでしょうか?

A 回答 (2件)

こんばんは。



>  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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/25 10:22

エクセルVBAの世界の話ではなくなって、無理でしょう。


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

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

お礼日時:2007/07/25 10:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!