Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


16942 / 76732 ←次へ | 前へ→

【65252】Re:文字検索
発言  kanabun  - 10/4/30(金) 16:41 -

引用なし
パスワード
   ▼亜矢 さん:
おじゃまします。

>エクセルに表示されている文字の中であまり使われていない文字等を
>変数に取り込むと"?”となっています。

Unicodeだけにある文字ですと、そうなりますね。

たとえば
[A1] リッター
[A2] センターライン (CとLを重ねたもの)
[A3] 華氏 (摂氏 ℃ の 華氏版)
[A4] Care of (c/o)
などなど...

これらの文字は Excelシートには表示されますが、
VBAウィンドウでは ? に変わります。

Sub Test1()
  Dim c As Range
  Dim ss As String
  Dim j As Long
  For Each c In [A1:A4]
    ss = c.Value
    Debug.Print ss,   '---イミディエイト・ウィンドウに出力
    For j = 1 To Len(ss)
      Debug.Print AscW(Mid$(ss, j, 1)); '文字コードを出力
    Next
    Debug.Print
  Next
End Sub
から分かるように、表示はできません。
表示はできませんが、変数ss にはちゃんとUnicodeが入っています。

その証拠に、[A1:A4]セルに上のような Unicode文字を打ち込んで、
変数ss に この文字列を代入して、となりのB列に変数 ss の内容を
貼りつけてみると、ちゃんと表示されます。

Sub Test2()
  Dim c As Range
  Dim ss As String
  For Each c In [A1:A4]
    ss = c.Value
    c(1, 2).Value = ss
  Next
 
End Sub

ということは、
変数での文字列比較、抽出はふつうに出来そうな気がしますが。
VBA内部の文字列処理は Unicode ですから。

0 hits

【65249】文字検索 亜矢 10/4/30(金) 15:38 質問
【65250】Re:文字検索 Jaka 10/4/30(金) 16:16 発言
【65251】Re:文字検索 Jaka 10/4/30(金) 16:35 発言
【65252】Re:文字検索 kanabun 10/4/30(金) 16:41 発言
【65253】Re:文字検索 亜矢 10/4/30(金) 16:53 お礼

16942 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free