• ベストアンサー

エクセルの入力規制について

エクセルで入力規制のリスト機能を使い、文字入力の手間を省きたいのですが、リストにない項目を入力したいときがあります。 入力規制なので、当たり前ですが、直接入力ができません。 なにかいい方法ないでしょうか。 できるかどうかわかりませんが、セルのB1に入力規制のリストを設定し、A1に「○」を入力した場合のみ、B2が入力規制になるとかいうのもありですが、もっと簡単にできないでしょうか。

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

こんばんは。 >ストにない項目を入力したいときがあります。 >入力規制なので、当たり前ですが、直接入力ができません。 出来ますが。。(^^;;; 入力規則ダイアログの「エラーメッセージ」タブをクリック 表示される画面の「不正なデータが入力されたらメッセージを表示する」のチェックを外す これで、ドロップダウンリストからも選択できるし、任意のデータも入力できます。 以上です。

その他の回答 (2)

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

入力規則ーリストで (1)リストにないものを入力したい (2)リストに入力と同時に自動的にリストに追加したい (3)条件に関連付けて入力規則を設定したりしなかったりしたい。 (1)はエラーメッセジの「無効なデータが入力されたらエラーメッセージを表示する」の「V」をはずせばできます。 (2)はVBAでも使わないと難しい。操作ALT+↓でも併用するとか。 (3)も回答が出ていますが、私がやるとうまくいかなかったので VBAで考えてみました。 A列が対象。 C1に「A」の時だけ入力規則設定。 入力規則のリスト範囲は「氏名」と名前をつけている例です。 Sheet1のシートモジュールのSelectionChange イベントに書きます(下記をコピペ)。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then If Range("C1") = "A" Then Target.Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=氏名" .IgnoreBlank = False .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .IMEMode = xlIMEModeNoControl .ShowInput = True .ShowError = False End With Else Target.Select With Selection.Validation .Delete End With End If End If End Sub マクロの記録を少々手直ししたもの。

回答No.1

Excelのリストでは、指定されたリストからしか選択が出来なくなります。 >できるかどうかわかりませんが、セルのB1に入力規制のリストを >設定し、A1に「○」を入力した場合のみ、B2が入力規制になる これは可能です。 入力規則でリストを選び、リスト範囲に =IF(A1="○",リスト範囲,) と入れれば、○ではないときは任意の文字列を入力可能です。 リスト範囲の部分は環境に合わせて書き換えて下さい。

関連するQ&A