プロが教える店舗&オフィスのセキュリティ対策術

EXCEL2003を利用しています。

     A列  B列
1行目 B   =A1
2行目 C   =A2

■A列に変更可能な値
■B列に関数
※上記表記の各値はダミーです。

(1)B列の関数は変更されたくなく、表示もしたく無いので、セルの書式設定にて、セルをロック&非表示
(2)A列は変更を許可したいので、セルの書式設定にて、セルのロックを外す。
(3)上記(1)(2)を設定の上、シートの保護を実行。

ここで、3行目を挿入したいのですが、

シート保護のオプションで「行の挿入」を許可して、
普通に行の挿入を行うと、当たり前ですが、

     A列  B列
1行目 B   =A1
2行目 C   =A2
3行目        

となり、B列の関数はコピーされません。
ここで、2行目を選択し、3行目にコピーしようとしても、
B列がロックされている為、コピーできません。

     A列  B列
1行目 B   =A1
2行目 C   =A2
3行目     =A3   

上記のように行の追加を行うのが希望ですが、
何か良い方法は無いでしょうか。

なお、上記B列の関数は仮です。

A 回答 (1件)

B列に書き込むためには、シートの保護を解除しなければなりません。



それを手作業でできないのなら、VBAで記述するしかないでしょう。

(1)カーソルがある行をクリップボードにコピーする。
(2)カーソルがある行にクリップボードの内容をペーストする。ただし、ペーストの前後にシートの保護解除とシートの保護を行う。

これを実行する処理をVBAで作成して、マクロにするか、コマンドボタンに割り当てればいいでしょう。


この方法は、VBAやマクロの知識がある程度必要ですが、どのくらい理解しているんでしょうか?
    • good
    • 1
この回答へのお礼

ありがとうございます。やはりマクロを組むしかありませんか。。。
あまり今回マクロを使用したくなかったのですが。
適当にマクロを組む事にします。

ありがとうございました。

お礼日時:2011/08/08 09:37

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

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


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