• ベストアンサー

シートの保護のあとセルの列、幅を動かせるようにしたい

EXCELマクロでシートの保護はするがセルの行、列の幅を動かせるにしたいです。 シート1,2,3があり、シート2,3のデータをシート1に集約する処理を 行っています。 シート1,2,3は事前にシートの保護を設定し、シートの保護の設定で、ロックされたセル範囲の選択、セル書式設定、列の書式設定、行の書式設定は許可しています。 シート1にシート2,3のデータを設定する時にActiveSheet.Unprotect Password:="password"でシートの保護を解除し、設定後にActiveSheet.Protect Password:="password"を再度保護しています。 空の状態のシート1はセルの行、幅を動かすことはできるのですが、上記のシートの保護を解除し、データ設定後、ActiveSheet.Protect Passwordコマンドで保護するとシート1のセルの行、幅を動かすことができなくなります。 シートの保護設定のやり方があるのでしょうか。 ご指導のほど、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

AllowFormattingColumns:=True,AllowFormattingRows:=True これだね。 ActiveSheet.Protect Password:="password",DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True,AllowFormattingRows:=True とか。

pin3891227
質問者

お礼

解決しました。 早速のご回答、本当にありがとうございます。 助かりました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

マクロで「シートの保護」をかける時に、引数を省略している所為ではないでしょうか。 きちんと、許可したい操作に当たる引数を設定してみてください。

pin3891227
質問者

お礼

ご指摘ありがとうございます。 解決いたしました。 まだまだ初心者で基本的なことがわかっていませんでした。

関連するQ&A