• 締切済み

VBAで行削除できないようにするには

ExcelVBAマクロを使って行削除と列削除を出来ない様にしたいのですが どうすればマクロを組めばよいのでしょうか? 宜しくお願い致します。

みんなの回答

noname#79209
noname#79209
回答No.4

#3の方の補足です。 「シート保護」とは、シートに透明の保護膜をラミネートするのに似ています。 セルを選択(複数可)して「書式」->「セル」->「保護」->「『ロック』のチェックを外す」を行うと、 この保護膜に穴を開けることになります。 従って、「シート保護」を行ってもこの「『ロック』を外したセル=保護膜に穴を開けた部分」にはデータを書き込めるのです。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.3

>シート保護をしてしまうとデータ編集ができなくなる為、できません。 >データ編集は可能とし行削除と列削除を出来ない様にしたいのです。 まず、シート保護を解除してある状態にします。 次に、データ入力が必要なセルを選択(全セル選択で可)状態にします。 次に、書式⇒セル⇒保護タブの所の「ロック」のチェックを外します。これで全部のセルのロックが外れます。 その後、シート保護を行います。 これで「データ編集は可能とし行削除と列削除を出来ない状態」になります。 なお、副作用として、行挿入と列挿入も出来なくなります。

a50
質問者

お礼

ご回答して頂き有難うございます。 試した所、うまくいきました。有難うございました

  • incho0922
  • ベストアンサー率41% (84/204)
回答No.2

Workbook_Open()の中に↓のコードを書いておくとか。 (Sheet1の行削除禁止と列削除禁止の場合) Sheet1.Protect AllowDeletingRows:=False Sheet1.Protect AllowDeletingColumns:=False

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

ツール→保護→シートの保護→データにチェック→OK ではダメですか? どうしてもマクロじゃなきゃヤダ、と言うなら   ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False

a50
質問者

お礼

アドバイスして頂きありがとうございます。

a50
質問者

補足

説明不足ですいません。 シート保護をしてしまうとデータ編集ができなくなる為、できません。 データ編集は可能とし行削除と列削除を出来ない様にしたいのです。

関連するQ&A

専門家に質問してみよう