- ベストアンサー
半角の文字を禁止する
EXCELの「入力規則」などを使って、文字の半角入力を禁止する方法はありますか? ちなみに入力文字は日本語・英数字混在です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
入力規則でやる方法はわからなかったので、マクロでやる方法です。 半角入力を禁止するのでなく、半角文字が入力されたら強制的に全角に変換します。 シートタブ(左下のSheet1とか書いているところ)を右クリックして「コードの表示」を選択すると、VBAの画面が出るので、以下のマクロをコピーして貼り付けます。ただし、途中に出てくるA1:E10は半角文字の入力を制限したいセル範囲に置きかえてください。 Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range For Each r In Intersect(Target, Range("A1:E10")) r.Value = StrConv(r.Value, vbWide) Next End Sub 貼り付けたらVBAの画面は閉じてかまいません。指定した範囲に文字を入力すると、自動的に半角の文字が全角に置きかえられます。
その他の回答 (2)
- tokpy
- ベストアンサー率47% (1313/2783)
#1です。ごめんなさい。ミスがありましたので訂正します。 誤:セルB1をコピー→セルA1を選択→メニューの「表示」→形式を選択して貼り付け→セルB1を削除 正:セルB1をコピー→セルA1を選択→メニューの「表示」→「形式を選択して貼り付け」→「値」→「OK」→セルB1を削除
- tokpy
- ベストアンサー率47% (1313/2783)
入力規則で縛るのではなく,半角文字をJIS()関数で強制的に全角文字に変換してしまうのはどうでしょうか? http://www.nbcom.co.jp/PC-Support/FAQ/xls/ht/xls042003ht002.shtml 例えば,A1セルに入力された文字を変換する場合,空いているセル(ここではB1セルにします)に, =JIS(A1) という式を入力します。 このままセルB1を使っても良いのですが,1つにまとめたい場合, セルB1をコピー→セルA1を選択→メニューの「表示」→形式を選択して貼り付け→セルB1を削除 とすれば,半角文字を含まない文字列になります。
お礼
ありがとうございます<(_ _)>よくわかりました。 入力するセル自体を全角に縛ることはできないんですね・・・
お礼
ありがとうございます!! この回答を求めていました。助かりました!!