- ベストアンサー
半角全角のチェック
入力したデータの半角全角をチェックする方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
エクセルの場合として、 データ入力を終わってから、チェックしたいセル範囲を 範囲指定し、 Sub test01() Dim cl As Range For Each cl In Selection v = StrConv(cl, vbWide) If cl.Value <> v Then cl.Interior.ColorIndex = 6 End If Next End Sub を実行すると、全角以外の文字が入っているセルの 色を黄色にします。 全角がエラーなら If cl.Value = v Thenと変えれば良いです。 チェック範囲を範囲指定して メニューのツール-マクローVBEでVBE画面になり、そのメニューの挿入-標準モジュールで出る大きい画面に上記をコピーして貼りつける。チェック範囲を範囲指定して、VBE画面のメニューの実行をクリック。
その他の回答 (2)
- tilx2
- ベストアンサー率28% (23/80)
Excelを開きます。 上部[ツール(T)]より[マクロ(M)]-[VisualBasic Editor(V)]を選択します。 エディターが起動しましたら、 上部[挿入(I)]から[標準モジュール(M)]を選択してください。 プロジェクト内に標準モジュール(Modeul1)をダブルクリックし 下記のコードを全て貼り付けてください。 コピーしたらエディターのウィンドウを閉じて かまいません。 Function userCheck(strCell As String) As String Dim strOK As String Dim strErr As String Dim intChk As Integer '-- ユーザー設定 ---------------- '***<補足>*********************** ' intChk:4=全角チェック ' 8=半角チェック ' strOK :intChkと同じ際に表示 ' strOK :intChkと違う際に表示 '******************************** intChk = 4 strOK = "全角" strErr = "半角" '-- 設定終了 -------------------- '** セルの入力が必ずあるとき If Trim("" & strCell) <> "" Then '** intChkで設定した全半角チェックが入力項目と等しい、 If strCell = StrConv(strCell, intChk) Then userCheck = strOK Else userCheck = strErr End If Else '** 何も入力されていたい場合(空白を返す) userCheck = "" End If End Function 使い方はセルを選択し=userCheck(調べたいセル)と入力してください。 (例)A3のデータ[テスト]を調べたい =userCheck(A3) (戻り値)全角
お礼
回答ありがとうございました。 やはりVBEが良いということですね。 かじりしか解らないので、とても勉強になります。 さっそく試してみます。 本当にありがとうございました。
- tilx2
- ベストアンサー率28% (23/80)
何かのプログラムに関する質問でしょうか? 例えばExcelでのデータ入力の半角全角など? もう少し詳しく記入されてみてはいかがでしょうか?
補足
Excelでのデータ入力の半角全角などが特に知りたいです。
お礼
大変勉強になりました。 いろいろやり方があるようなのですが、やはりVBEが一番良いようですね。 さっそくコピーで試してみます。 ありがとうございました。
補足
お礼に投稿に失敗してしまい、補足になってしまいましたが失礼します。 回答ありがとうございました。 大変勉強になりました。 色々やり方があるようなのですが、やはりVBEが良いようですね。 さっそく試してみます。 本当にありがとうございました。