どういうチェック方法が一番いいか色々考えたあげく、一番シンプルでわかりやすいと思った方法。
処理ロジックは、以下の通り。
1.チェック対象の文字列を引数として受け取る。
2.ユーザー定義関数内に用意した文字列変数に半角カタカナに該当する文字列を列挙した文字列を代入しておく。
半角カタカナ文字列 → "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ゙゚ー"
3.チェック対象の文字列から1文字ずつ文字を取り出す。
4.Instr関数を使用して、取り出した文字が半角カタカナを列挙した文字列内の何れかの文字に該当しないかチェック。
5.「Instr関数の戻り値が0以外 = 半角カタカナに該当」となるので、ユーザー定義関数の戻り値としてFalseをセットして処理を終了。
6.最後までInstr関数の戻り値が0だったら半角カタカナは含まれていないことになるのでユーザー定義関数の戻り値としてTrueをセットする。
入力データに半角カタカナが含まれていないかチェックするユーザー定義関数のサンプルプログラムを以下に記述。