VBAで文字化けする場合、半角「?」で表示されるのですが
全角「?」で表示できるようにする方法はありますか?
例えば↓のように、セル1,1に「你」という文字が入っている場合でDebug.prrintすると
イミディエイトウィンドウに半角「?」が表示されます。
vba
1Sub moji() 2 Dim s As String 3 s = Cells(1, 1).Value 4 Debug.Print s 5End Sub
これを半角「?」ではなく全角「?」で表示したくReplace関数を使ったり、
vba
1s = Replace(s, "?", "?")
半角「?」が含まれている場合、vbWide関数で文字列を全角にする
という処理を入れたのですが、イミディエイトウィンドウに表示されるのは
どちらも半角「?」のままでした。
vba
1Sub moji() 2 Dim s As String 3 s = Cells(1, 1).Value 4 If s Like "*[?]*" Then 5 MsgBox "文字化けしている" 6 s = StrConv(s, vbWide) 7 End If 8 Debug.Print s 9End Sub
半角「?」を全角「?」に変換する方法をご存じでしたら教えてください。
セル1,1が文字化けする文字ではなく
半角「?」そのもの文字が入っている場合では
vbWide関数やreplace関数で全角「?」に変換されました。
「你」等、VBAでは文字化けする文字が入っている場合でも
半角「?」ではない全角の文字に変換する方法を教えていただければ幸いです。
※半角「?」ではなく全角の任意の文字で表示したいので
全角「?」ではなく「もじばけ」「全角」などの文字でも構いません。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/11/10 12:22