dポイントプレゼントキャンペーン実施中!

エクセルで、簡単な業務システムの構築をしています。
直接DBの該当レコードに担当者がデータを入力するスタンスをとっているのですが、一つのセルにおいて半角と全角を混在して入力しています。
例えば、郵便番号と電話番号なのですが、999-9999、999-999-9999のように半角の数字とハイフンのみを入力させそれ以外の全角文字等が入力されないようにすることは可能なのでしょうか?

A 回答 (5件)

入力規則で入力時にエラーメッセージを表示では如何でしょうか。


エクセルグレードが不明につき操作手順はwebで検索して下さい。

入力範囲(仮にA1:A5)を選択→入力規則→設定タブで「ユーザ定義」を選択、数式欄に=LEN(A1)=LENB(A1)→OK
因みに入力規則→エラーメッセージタブで任意メッセージを追記可能(例えば、「全角文字あり」等)
    • good
    • 0

 例えばA1セル~A9セルに、数字と半角のマイナスしか入力出来ない様にするには、以下の様に操作します。



A1セルを選択
  ↓
Excelのバージョンが、
Excel2007以降の場合は、[データ]タブ、
Excel2007よりも前の場合は、メニューの[データ]ボタン
をクリック
  ↓
Excel2007以降の場合は、「データツール」グループの中にある[データの入力規則]をボタンをクリックしてから、現れた選択肢の中にある[データの入力規則]をクリック
Excel2007よりも前の場合は、現れた選択肢の中にある[入力規則]をクリック
  ↓
現れた「データの入力規則」ダイアログボックスの[設定]タブをクリック
  ↓
「入力値の種類」欄をクリックし、現れた選択肢の中にある[ユーザー設定]をクリック
  ↓
「数式」欄に

=ISNUMBER(SUBSTITUTE(A1,"-",)/(A1&""=ASC(A1)))

と入力
  ↓
「データの入力規則」ダイアログボックスの[OK]ボタンをクリック
  ↓
A1セルを右クリック
  ↓
現れた選択肢の中にある[コピー]をクリック
  ↓
A2~A9のセル範囲をまとめて選択
  ↓
選択範囲を示す黒い太枠の内側にカーソルを合わせてから、マウスを右クリック
  ↓
現れた選択肢の中にある[形式を選択して貼り付け]をクリック
  ↓
現れた「形式を選択して貼り付け」ダイアログボックスの中にある[入力規則]と記されている箇所をクリックして、チェックを入れる
  ↓
「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック

 以上です。
    • good
    • 0

こんばんは!


横からおじゃまします。
すでに回答は出ていますので、参考程度で・・・

>半角の数字とハイフンのみを入力させそれ以外の全角文字等が入力されないようにする・・・

とありますので、半角英字・及びその他記号(/・¥・*等々)も入力できないようにVBAでの一例です。

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてみてください。

※ 項目名等はあらかじめ入力しておかないと、それらもはじかれてしまいます。
(入力セルはA列と限定していますので、実際の配置に合わせてコードを変更する必要があります。)

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Target.Column = 1 And Selection.Count = 1 Then '←ここで範囲指定します。
Dim i As Long
Dim str As String
For i = 1 To Len(Target)
str = Mid(Target, i, 1)
If Not str Like "[0-9 -]" Then
MsgBox "入力は半角数字・ハイフンのみです!", vbExclamation
Target = ""
Target.Select
Exit Sub
End If
Next i
End If
End Sub 'この行まで

※ 仮に 10-15 のような入力値ですと「日付」と判断されますので入力不可になると思います。
※ 他の方々が回答されていらっしゃるように、「入力規則」を使用するのが一般的だと思います。
m(_ _)m
    • good
    • 0

データの入力規則を利用します。



このケースなら、「データ」「入力規則」の日本語入力タブで日本語入力モードをオフ(英語モード)にして入力すれば良いと思います。
    • good
    • 0

データメニュー(Excel2007以降ではデータタブ)の入力規則を使い,制限します。




簡単な対応:半角文字しか入力できないようにする
A1セルでデータの入力規則を開始
種類をユーザー設定に変更し
下の空欄に
=LENB(A1)=LEN(A1)
とする


少し手の込んだ対応:半角の数字と半角のマイナスしか入力できないようにする
A1セルの入力規則で
=(LENB(A1)=LEN(A1)*ISNUMBER(--SUBSTITUTE(A1,"-","")))
とする

必要に応じて「エラーメッセージ」のタブで,「半角で入力する」のように説明が出るように仕込んでおきます。
いずれもA1で設定したのちに所定の入力セルにコピーするか,操作を理解して所定のセルに合わせた数式を設定します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!