スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[VBScript]正規表現を使って英数字と漢字が含まれるか判定する

1列目(A列)に並ぶ単語に英数字と漢字が含まれているかを判定します。
3列目(C列)に、含まれる場合はYES、含まれない場合はNOが入力されます。
探索は、1列目(A列)の値が空になるまで続きます。
'フリガナが必要ならYES、それ以外はNOをC行に出力する(C2スタート、C1はタイトル)
Sub is_furigana()
'変数フィールド
Dim selectCellValue As String

'RegExpクラスのオブジェクト生成
'- 参照の設定をしない場合
'Dim re As Object
'Set re = CreateObject("VBScript.RegExp")

'- 参照設定で Microsoft VBScript Regular Expressions 5.5 を追加した場合
Dim re As RegExp
Set re = New RegExp

'正規表現を設定
'- 英文字・数字・漢字にマッチ
re.Pattern = "([A-Za-z0-9一-龠])"

'探索対象のシートと初期選択セルを指定する
'- シート "WorksheetData" を選択
ActiveWorkbook.Worksheets("WorksheetData").Activate
'- セル "A2" を選択
Range("A2").Select

'フリガナが必要かどうかを判別する
Do
'- 選択中セルの値を取得
selectCellValue = ActiveCell.Value
'-- 値が空なら処理終了
If selectCellValue = "" Then
Exit Do
End If

'- 値を正規表現でマッチング
Dim match As Boolean
match = re.Test(selectCellValue)
'-- 結果を後方3列目に書き込む
ActiveCell.Offset(0, 2).Activate
If match Then
ActiveCell.Value = "YES"
Else
ActiveCell.Value = "NO"
End If
ActiveCell.Offset(0, -2).Activate

'- 次の行へ移動
ActiveCell.Offset(1, 0).Activate
Loop
End Sub
このエントリーをはてなブックマークに追加

tag : VBScript 文字列 判別 正規表現

コメントの投稿

非公開コメント

Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。