- ベストアンサー
エクセルで任意のセルに
エクセルで任意のセルに コロン : ハイフン - などが入力された場合、エラーを返す (入力を確定できないようにする) 方法はありませんでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
今仮に、入力を確定出来なくさせるセルがA1セルだとします。 まず、A1セルをクリックして下さい。 そして、以下の操作を行って下さい。 メニューの[データ]ボタンをクリック ↓ 現れた選択肢の中にある[入力規則]をクリック ↓ 現れた「データの入力規則」ウィンドウの[設定]タグをクリック ↓ 「入力値の種類」欄をクリック ↓ 現れた選択肢の中にある「ユーザー設定」をクリック ↓ 「数式」欄に次の数式を入力 =AND(A1<>"-",A1<>",") ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック 以上です。(数式中の「A1」の部分は入力規則を設けるセルに応じて変えて下さい) 尚、「-」や「,」が単独ではなく、「AKB-48」の様に、文字列の中に「-」や「,」が含まれる場合も、入力を確定させないのであれば、「数式」欄に入力する数式を次の様に変更して下さい。 =AND(ISERROR(FHND("-",A1)),ISERROR(FHND(",",A1)))
その他の回答 (2)
- MARU4812
- ベストアンサー率43% (196/452)
> strIn = ActiveCell.Offset(-1).Value 参考 URL 通り、引数で渡ってくる Target を使わないと マウスクリックで離れたセルに移動したら検出されなく なりますが。。。罠なんでしょうか?^^; "-"は数式の入力はどうするのか?とかもありますが。。。 質問が詳しく書かれていないので、詳細にはつっこまない 事にしておきます。 場合によっては「入力規則」が使いやすいかもしれません。 使い方は Excel のヘルプで確認してください。
- DIooggooID
- ベストアンサー率27% (1730/6405)
一例ですが、・・・ 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