回答編集履歴
3
コード追加
answer
CHANGED
@@ -27,7 +27,14 @@
|
|
27
27
|
シートのセルに文字化けするテキストを入力しておいて、上記の関数を実行すると
|
28
28
|
イミディエイトウィンドウに、
|
29
29
|
```vba
|
30
|
-
ChrW(
|
30
|
+
ChrW(3626) & ChrW(3623) & ChrW(3633) & ChrW(3626) & ChrW(3604) & ChrW(3637)
|
31
|
+
|
31
32
|
```
|
32
33
|
というような式が出力されますので、それをコピーしてVBAエディタに貼り付ければOKです。
|
33
|
-
(ちなみに、上記の式は「
|
34
|
+
(ちなみに、上記の式は「こんにちは」のタイ語の「สวัสดี」をセルに入力して実行した結果です。)
|
35
|
+
|
36
|
+
確認コード
|
37
|
+
```vba
|
38
|
+
Range("A1").Value = ChrW(3626) & ChrW(3623) & ChrW(3633) & ChrW(3626) & ChrW(3604) & ChrW(3637)
|
39
|
+
```
|
40
|
+
A1セルに「สวัสดี」と表示されます。
|
2
コード追記
answer
CHANGED
@@ -1,11 +1,33 @@
|
|
1
1
|
ExcelのシートはUnicode対応ですが、VBAエディターは今だにShift_JISですので、Shift_JISにない文字はVBAエディター上では入力できません。(中国語、ベトナム語、タイ語はShift_JISにないと思います。)
|
2
2
|
|
3
|
-
ワークシート上のセルには、中国語、ベトナム語、タイ語ができると思いますので、そこに入力して、それを参照するようにすればどうでしょうか。
|
3
|
+
ワークシート上のセルには、中国語、ベトナム語、タイ語が入力できると思いますので、そこに入力して、それを参照するようにすればどうでしょうか。
|
4
4
|
|
5
5
|
```vba
|
6
6
|
Function aiueo()As Variant
|
7
7
|
abc = Array("日本語", Range("A1"), Range("B1"), Range("C1"))
|
8
8
|
End Function
|
9
9
|
```
|
10
|
+
MACは持っていませんので、Windowsの場合の対処法ですが、試してみてはどうでしょうか。
|
10
11
|
|
12
|
+
別案
|
13
|
+
---
|
11
|
-
|
14
|
+
セルに入力しておくというのはちょっという場合は、下記の関数を標準モジュールに作成しておいて、
|
15
|
+
```vba
|
16
|
+
Public Sub ConvertChrW()
|
17
|
+
Dim s As String, r As String, i As Long
|
18
|
+
s = ActiveCell.Text
|
19
|
+
|
20
|
+
For i = 1 To Len(s)
|
21
|
+
r = r & " & ChrW(" & AscW(Mid(s, i, 1)) & ")"
|
22
|
+
Next
|
23
|
+
|
24
|
+
Debug.Print Mid(r, 3)
|
25
|
+
End Sub
|
26
|
+
```
|
27
|
+
シートのセルに文字化けするテキストを入力しておいて、上記の関数を実行すると
|
28
|
+
イミディエイトウィンドウに、
|
29
|
+
```vba
|
30
|
+
ChrW(12354) & ChrW(12356) & ChrW(12358) & ChrW(12360) & ChrW(12362)
|
31
|
+
```
|
32
|
+
というような式が出力されますので、それをコピーしてVBAエディタに貼り付ければOKです。
|
33
|
+
(ちなみに、上記の式は「あいうえお」を意味してます。)
|
1
誤字の修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
ExcelのシートはUnicode対応ですが、VBAエディターは今だにShift_JISですので、Shift_JISにない文字はVBAエディター上では入力できません。(中国語、ベトナム語、タイ語はShift_JISにないと思います。)
|
2
2
|
|
3
|
-
シート
|
3
|
+
ワークシート上のセルには、中国語、ベトナム語、タイ語ができると思いますので、そこに入力して、それを参照するようにすればどうでしょうか。
|
4
4
|
|
5
5
|
```vba
|
6
6
|
Function aiueo()As Variant
|