- 締切済み
VBAで行削除できないようにするには
ExcelVBAマクロを使って行削除と列削除を出来ない様にしたいのですが どうすればマクロを組めばよいのでしょうか? 宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
#3の方の補足です。 「シート保護」とは、シートに透明の保護膜をラミネートするのに似ています。 セルを選択(複数可)して「書式」->「セル」->「保護」->「『ロック』のチェックを外す」を行うと、 この保護膜に穴を開けることになります。 従って、「シート保護」を行ってもこの「『ロック』を外したセル=保護膜に穴を開けた部分」にはデータを書き込めるのです。
- chie65536
- ベストアンサー率41% (2512/6032)
>シート保護をしてしまうとデータ編集ができなくなる為、できません。 >データ編集は可能とし行削除と列削除を出来ない様にしたいのです。 まず、シート保護を解除してある状態にします。 次に、データ入力が必要なセルを選択(全セル選択で可)状態にします。 次に、書式⇒セル⇒保護タブの所の「ロック」のチェックを外します。これで全部のセルのロックが外れます。 その後、シート保護を行います。 これで「データ編集は可能とし行削除と列削除を出来ない状態」になります。 なお、副作用として、行挿入と列挿入も出来なくなります。
- incho0922
- ベストアンサー率41% (84/204)
Workbook_Open()の中に↓のコードを書いておくとか。 (Sheet1の行削除禁止と列削除禁止の場合) Sheet1.Protect AllowDeletingRows:=False Sheet1.Protect AllowDeletingColumns:=False
- chie65536
- ベストアンサー率41% (2512/6032)
ツール→保護→シートの保護→データにチェック→OK ではダメですか? どうしてもマクロじゃなきゃヤダ、と言うなら ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
お礼
アドバイスして頂きありがとうございます。
補足
説明不足ですいません。 シート保護をしてしまうとデータ編集ができなくなる為、できません。 データ編集は可能とし行削除と列削除を出来ない様にしたいのです。
お礼
ご回答して頂き有難うございます。 試した所、うまくいきました。有難うございました