- ベストアンサー
特定のセルへは入力や編集、移動もさせない方法は?
エクセル2000でデータベースライクな表を作成しています。 シート1がデータベースシート、シート2が入力用のシートを同じブックに作成してあります。 入力用のシート2で選択されたデータがマクロを実行すると シート1のデータベースシートに挿入されるようになっています。 うっかりシート2の見出し部分を選択したままマクロを実行してしまうことの無いように 見出し部分へカーソルが移動しないように設定したいです。 簡単で分かりやすい設定方法があれば教えてくださいませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんにちは。 「シートの保護」を使う方法です。 まず、入力するセルで「セルの書式設定」の保護タブにある「ロック」のチェックを外して「シートの保護」をします。 次に、シートタブを右クリックして「コードの表示」を選びます。シート2のシートモジュールが表示されます。(VBEが開かれます。) シートのプロパティーに「EnableSelection」という項目があるので「1-xlUnlockedCells」にします。 VBEを閉じます。 これでどうでしょうか。 ただし「EnableSelection」項目は、ブックを保存して再度開くと、初期設定である 「0-xlNoRestriction」に戻ってしまうので、ブックを開いたときにThisWorkbookのOpenイベントや Auto_openなどで設定するといいでしょう。 ThisWorkbookで設定する例です。 Private Sub Workbook_Open() Sheets("Sheet2").EnableSelection = xlUnlockedCells End Sub
その他の回答 (1)
- mar00
- ベストアンサー率36% (158/430)
データの選択の仕方が書かれていないので、 マクロは書きようがありませんが シート2の見出し部分を選択している時は IFを使ってマクロを実行しないようにすればよいと思います。
お礼
お礼が遅くなりました。 いろんな関数を今まさしく、勉強中です! あれこれ考えて作る数式は面白いですね~ 今回は見出しを編集する、しないことはもちろん、カーソルが動かないように設定したいと思っています。 この度はアドバイスありがとうございました。 今後の参考にさせていただきます!
お礼
お礼が遅くなってしまいました。 教えて頂いた通りにやってみると・・・ できました!そう、コレです~~~ 感動でうれしくて、つい奇声(?)をあげてしまいました。 ブックを開いた時に実行するように設定し、これでうっかりマクロを見出しに対して実行しないようにできました。 この回答は印刷して保存しました。 このたびはありがとうございました。