質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

3回答

1029閲覧

VBA:日本語 (シフト JIS) - CP932 コード表ついて

nachos708

総合スコア8

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

1クリップ

投稿2018/07/29 06:35

日本語 (シフト JIS) - CP932 について質問です。

現在vbaでこれら(  ̄ _ ヽ ヾ ゝ ゞ 〃)の記号を検出するため
下記のプログラムを組んでおります。

Public Sub a()

If Cells(1, 1).Value Like "*[" & Chr(&H8150) & "-" & Chr(&H8151) & "]*" Then  Cells(1, 2).Value = 1 End If

End Sub

文字コードの範囲をChr(&H8150)-Chr(&H8151)にしていますが
「パターン文字列が不正です」とエラーになってしましまいます。

文字コードの範囲の理解が間違っているのでしょうか。
お分かりの方教えていただければと思います。よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

Option Compare ステートメントを確認して下さい。
Like 演算子

エラー内容からは、単に、範囲を逆にするとエラーは消えるんでしょうけど、意図した結果になるかは分かりません。
追記

文字に直して比較せずに、文字を数値化して範囲でチェックする方が簡略化できそうですね。
まあ、時間は掛かりそうですけど。

VBA

1Public Sub a() 2Dim wBin As Long, i As Long 3 For i = 1 To Len(Cells(1, 1)) 4 wBin = Asc(Mid(Cells(1, 1), i, 1)) 5 If wBin >= &H8150 And wBin <= &H8156 Then 6 Cells(1, 2).Value = 1 7 End If 8 Next 9End Sub

投稿2018/07/29 07:21

編集2018/07/29 14:09
sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nachos708

2018/07/31 00:45

ご回答ありがとうございます。 助かりました。
guest

0

試してみたところどうやらVBAの文字範囲はUnicodeで認識されているようです。
Unicodeで「 ̄」はU+FFE3、「_」はU+FF3FですからShift_JISと順序が逆ですし間に余計な文字をはさみます。
1文字づつ指定するしか無いのではないでしょうか。

投稿2018/07/29 13:09

ikadzuchi

総合スコア3047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nachos708

2018/07/31 00:46

ご回答ありがとうございます。 1文字づつ指定します。
guest

0

記述については、 saziさんが、書かれていましたのて゛、

文字コード範囲について、IME コード表から、
記号領域

Chr(&H8150)-Chr(&H8151)

期待の範囲ではないと思います。

投稿2018/07/29 09:33

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nachos708

2018/07/31 00:46

ご回答ありがとうございます。 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問