- 締切済み
エクセルVBAで保護シートの数式取得
ワークシートが保護されていても、そのセルA1にある数式をVBAで取得する場合 Sub test01() MsgBox Sheets("Sheet1").Range("A1").Formula End Sub でできます。 しかし、このセルが書式設定で、「保護」→「表示しない」にチェックをいれられていると「実行時エラー1004」となり取得できません。 パスワードがわかっていれば保護を解除して問題はないのですが、わからない場合、数式を取得する方法はないでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- NuboChan
- ベストアンサー率47% (785/1650)
回答No.4
zip経由で見ることができそうですが 保護関係なので詳細はweb情報をチェックしてみて下さい。
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.3
No.1は間違ってました。 パスワードなしでやってました。
質問者
お礼
はい、ありがとうございます。
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.2
No.1の訂正です。 MsgBox .Range("A1").Formula ↓ MsgBox .Formula
質問者
お礼
ありがとうございます。
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.1
ロックしたセルに、シート保護を解除せずにデータを書き込む。 https://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_030_040.html 上記のサイトで説明しているWorkbook_Openを設定して With Sheets("Sheet1").Range("A1") .FormulaHidden = False MsgBox .Range("A1").Formula .FormulaHidden = True End With で試してみてください。
質問者
お礼
ありがとうございます。これはパスワードがわからないと使えませんね。
お礼
ありがとうございます。なんとか解決しました。