• ベストアンサー

エクセルで任意のセルに

エクセルで任意のセルに コロン : ハイフン - などが入力された場合、エラーを返す (入力を確定できないようにする) 方法はありませんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、入力を確定出来なくさせるセルがA1セルだとします。  まず、A1セルをクリックして下さい。  そして、以下の操作を行って下さい。 メニューの[データ]ボタンをクリック   ↓ 現れた選択肢の中にある[入力規則]をクリック   ↓ 現れた「データの入力規則」ウィンドウの[設定]タグをクリック   ↓ 「入力値の種類」欄をクリック   ↓ 現れた選択肢の中にある「ユーザー設定」をクリック   ↓ 「数式」欄に次の数式を入力 =AND(A1<>"-",A1<>",")   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック  以上です。(数式中の「A1」の部分は入力規則を設けるセルに応じて変えて下さい)  尚、「-」や「,」が単独ではなく、「AKB-48」の様に、文字列の中に「-」や「,」が含まれる場合も、入力を確定させないのであれば、「数式」欄に入力する数式を次の様に変更して下さい。 =AND(ISERROR(FHND("-",A1)),ISERROR(FHND(",",A1)))

その他の回答 (2)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

>  strIn = ActiveCell.Offset(-1).Value 参考 URL 通り、引数で渡ってくる Target を使わないと マウスクリックで離れたセルに移動したら検出されなく なりますが。。。罠なんでしょうか?^^; "-"は数式の入力はどうするのか?とかもありますが。。。 質問が詳しく書かれていないので、詳細にはつっこまない 事にしておきます。 場合によっては「入力規則」が使いやすいかもしれません。 使い方は Excel のヘルプで確認してください。

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

一例ですが、・・・ VBA で、セルに入力された文字列をチェックし、  "-" や ":" が含まれていた場合に、エラーメッセージを表示します。 Private Sub Worksheet_Change(ByVal Target As Range) Dim strIn As String Dim intPoint0, intPoint1 As String   strIn = ActiveCell.Offset(-1).Value   intPoint0 = InStr(strIn, "-")   intPoint1 = InStr(strIn, ":")   If (intPoint0 + intPoint1 <> 0) Then     MsgBox "入力エラーです。"   End If End Sub

参考URL:
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9c7.html

関連するQ&A