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

Excel2003を使用しています。
入力規則よりリストを作成し、エラーメッセージより、そのリストに書かれているもの以外は入力できないように設定しています。
ただこの方法では、リストへの入力は拒否できますが、リストへの貼り付けを拒否できません。

逆にセルに保護をかけると、貼り付けを拒否できますが、リストの選択も同時に拒否されてしまいます(Excel2000では普通に選択できるのですが…)

・リストへの貼り付けを禁止させる
・リストから選択できる

この2つを同時に満たす方法はないのでしょうか???
Excel2000でできたものが、できないはずはないと思うのですが・・・

よろしくお願いします。

A 回答 (1件)

こんにちは。



>Excel2000でできたものが、できないはずはないと思うのですが・・・

今、両方で試してみて、その違いを初めて知りました。

Excel2003で、いろいろ設定を試してみましたが、Excel2000のようになりませんね。

(これは、バグ->MSに報告だって言いたくなってしまいました。理屈からすれば、オートフィルタを許可するのと同じことだと思ったのですが、それはダメでした。)

そのシート内だけなら、「ロックされたセル範囲の選択」を[オフ]にすれば、そのシートの範囲内の貼り付けはよいのですが、他からの貼り付けも拒否するためには、残念ながら、今現在は、以下のようなマクロの処理ということぐらいしか、思いつきません。(あまりベストとは言えませんね。)

入力規則設定の場所は、[セルの書式-保護-ロック]を外してください。

シートタブを右クリック-コードの表示で以下を貼り付ける
----------------------------------------------------

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Validation.Value = False Then
  Application.Undo
 End If
End Sub


このマクロは 、その入力規則を設定して、シートを保護しないと貼り付け拒否しないのです。
    • good
    • 0
この回答へのお礼

やはり実現するにはVBAになりますか・・・
ご回答ありがとうございます。

それにしても2000でできたものができなくなるなんて、保護機能が強化されたといわれればそれまでですかね。

お礼日時:2007/07/15 22:42

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