上記の通りですが、つまづいたので。
リスト外の文字入力は、入力規則の中でうまく処理できる。
しかし、シートの保護を掛けると、文字入力ができず、リスト選択しかできない。
正確には、セルからではなくエクセルの数式バーからなら入力できる。
セルからするにはF2キーで、編集モードに入ればできる。
しかし、他の人にリスト外の文字入力は「F2を押して」と言っても、面倒臭がられる。
そこで仕方なく、VBAでworksheet_selectionchangeの中で
sendkeys "{F2}"
を仕込むことに。(セル選択したら、編集モードに入る)
リストから選びたい人は、ESCを押して、編集モードから外れて、リストを選択。
これしかできなかった。
他に試したのは、シートprotectの時、drawingobjectの編集を許可にしたが、それだと、シートの保護がほぼ無意味になってどこでも編集できてしまうのでボツ。(そもそもシートの保護がなければ問題ない。)
worksheet_beforedoubleclick内でもF2キーの処理できないかと思ったが、シートの保護時、リストのセルのダブルクリック自体ができず。中のプログラムは動かなかった。
かなりガッカリ。
あ、エクセル2010で確認。