プロが教えるわが家の防犯対策術!

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のセルの行、幅を動かすことができなくなります。

シートの保護設定のやり方があるのでしょうか。
ご指導のほど、よろしくお願いいたします。

A 回答 (2件)

マクロで「シートの保護」をかける時に、引数を省略している所為ではないでしょうか。


きちんと、許可したい操作に当たる引数を設定してみてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/12/21 23:19

AllowFormattingColumns:=True,AllowFormattingRows:=True


これだね。

ActiveSheet.Protect Password:="password",DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True,AllowFormattingRows:=True
とか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/12/21 23:21

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A