質問するログイン新規登録

回答編集履歴

3

コード追加

2019/04/17 10:41

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -27,7 +27,14 @@
27
27
  シートのセルに文字化けするテキストを入力しておいて、上記の関数を実行すると
28
28
  イミディエイトウィンドウに、
29
29
  ```vba
30
- ChrW(12354) & ChrW(12356) & ChrW(12358) & ChrW(12360) & ChrW(12362)
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

コード追記

2019/04/17 10:41

投稿

hatena19
hatena19

スコア34367

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
- MACは持っていませんで、Windowsの場合の対処法ですがしてはどうでしょうか。
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

誤字の修正

2019/04/17 10:32

投稿

hatena19
hatena19

スコア34367

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