• 締切済み

エクセルでワークシート内に半角カタカナを入力させない方法

お世話になっております。 エクセルでワークシート内に半角カタカナを入力させないようにするには、どのような方法がありますか?教えてください。 日本語入力コントロールができても、そこに入力してはいけない文字種の制限までかけられるのでしょうか? また、不可能な場合、Accessでは可能とか?そういう問題でしょうか?それとも、やはりそこまでは制御できないのでしょうか? 教えてください。よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

入力セル範囲指定 データー入力規則 「入力値の種類」部で「ユーザー設定」 「数式」部に =OR(AND(CODE(A1)>96,CODE(A1)<123),ISNUMBER(A1),A1=JIS(A1)) OK これでよいと思うのですが、少数例でのテストしかしてませんが。 CODE(A1)>96,CODE(A1)<123),=>半角英字許容 ISNUMBER(A1),=>数を許容 A1=JIS(A1)=>全角許容 の意味です。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 入力規則のユーザー設定のところに以下を貼り付けます。 A1 の場合: =SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=161)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=223))=0 SUMPRODUCT の代わりに、SUMでも可能です。 ただ、どの程度の許容範囲があるのか分かりません。かなり、シートが重くなるのではないかと思います。マクロのイベント・ドリブン型の方が無難かもしれません。イベント・ドリブン型なら、貼り付けに関しても、自動修正してくれます。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

入力規則を使うことによって可能です。ただ少し面倒ですが… 1)任意のシートに半角カナ文字のリストを作成します。適当なセルに  =CHAR(ROW(A161)) と入力して、下方向に CHAR(ROW(A223)) となるまでコピーします これで半角カナ文字のリストが作成されます 2)今作成した半角カナ文字のリストを全て選択して「挿入」→「名前」→「定義」で 範囲 と名前をつけます。 3)半角文字を禁止したいシートのA1セルを選択し「データ」→「入力規則」を選択します。「設定タブ」で「入力値の種類」は「ユーザー設定」を選択すると、式の入力が可能になります。そこに  =MIN(INDEX(FIND(範囲,A1&範囲),))>LEN(A1) を貼り付けて「OK」してください。 これでA1セルに半角カナ混じりの文字列を入力してみてください。 するとエラーメッセージが出て入力できないはずです。 4)A1セルをコピーして、半角カナ入力禁止にしたいセル範囲を選択後「編集」→「形式を選択して貼り付け」→「入力規則」で貼り付けて完了です これ以外にもマクロを使ってチェックをする方法、マクロで全角に置き換える方法があります。シート全体をチェック範囲にする場合はマクロの方が適しているかもしれませんが、そちらは割愛します。 入力規則では「そうしても使い勝手が悪い」なら補足してください