- ベストアンサー
エクセルで保護を掛けたのですが
例えば、行列でコピーをされて違うシートに貼り付けたら保護は生かされないですよね? 極論言えば、コピーもされたくない場合のマクロ等ってありますか?出来れば重くならない方法で・・・
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >マクロは無効にされたらアウトだし、別のブックを同時に開いて、 > =[ブック名.xls]シート名!A1 このぐらいは、マクロを書ける人なら、簡単にできるはずですが、今は、ヒントだけにしておきます。 Window のプロテクトを、Sheet プロテクトとは別にします。 開いた時に、一旦、 Window プロテクトを解除して シートの Visible = xlSheetVeryHidden Window プロテクトにしてから、そのブックを保存して、それから、次に、もう一度、Window プロテクトを解除して、 シートをVisible = xlSheetVisible Window プロテクトをします。 ブックを閉じるときは、 Saved =True にさせておいて、BeforeSave イベントをCancel =True を置いておきます。 そうすれば、なかなか、簡単には、複製を作ることもままならないはずです。PrintScreenを使うという意見もありますよね。こんどは、API の RegisterHotKey を使います。 ただし、VB Editor は、ロックしてあることが条件ですが、「一定の人に渡すこと」と、「コピーしてはいけません」で話が通じない人には、渡さないことでしょうね。
その他の回答 (3)
- papayuka
- ベストアンサー率45% (1388/3066)
閲覧のみ可としてデータは使われないようにするって事なら、私は難しいと思いますが、、、 マクロは無効にされたらアウトだし、別のブックを同時に開いて、 =[ブック名.xls]シート名!A1 でもデータは持ってこれちゃいます。 また別ブックからマクロでコピーも出来ちゃいますし。
お礼
丁寧な御指導ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 このようにすればよいと思います。 シート1 の場合 シート1 の場合 Private Sub Workbook_Open() With Worksheets("Sheet1") .Protect Password:="abc", UserInterFaceOnly:=True .EnableSelection = xlUnlockedCells End With End Sub
- keirika
- ベストアンサー率42% (279/658)
シートの保護をかける際にロックされたセルの範囲選択のチェックボックスをオフにされてはいかがでしょうか
お礼
丁寧な御指導ありがとうございました。
お礼
丁寧な御指導ありがとうございました。 なかなか複雑な次元になってしまうんですね? 一旦、アドバイスの内容で取り組んでみます。。