• ベストアンサー

パスワードによるシートの保護&解除方法

エクセルのVBAでパスワードを使ってシートの保護、解除を したいのですが、参考書どおりに入力しても、うまくできません!!(ё_ё) どなたかうまくできる方法教えてください。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.4

>ActiveSheet.Unprotect DrawingObjects:=True, Contents:=True, _ Scenarios:=True, password:="abc" 最初のコードは「Unprotect」では無かったですよね。 Unprotect の場合、「password:="abc"」しか指定出来ません。 また、シートをアクティブにする必要が無いのなら、 WK1.Select ActiveSheet.Unprotect などというコードを書くのは止めましょう。 WK1.Unprotect と書くのがスマートです。 WK1.Unprotect password:="abc" 解らない事があったら、VBAのヘルプも活用してください。 Unprotectの部分にカーソルを置いて、[F1]キーでヘルプが参照できます。

nakasati
質問者

お礼

既にパスワードでシート保護がかかっているものに対しての処理なので はじめに「unprotect」でシート保護解除のコードを入れています。 そして、処理終了直前に、「protect」してマクロ終了する…とゆう感じです。 unprotectの場合は、パスワードしか指定できないんですね。 なるほどー!!教えていただいたとおりにしたらきちんと動きました。 どうもありがとうございました。 今後は、VBAのヘルプも活用し、自分でうまくできるようにがんばります。

その他の回答 (3)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

>「実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーです。」 いろいろな理由で表示されます。 この行の前後(出来れば全文)のコードも見て見たいのですが。

nakasati
質問者

補足

一応前後のコードはこれです。 Sub データ移行() Set WK1 = Worksheets("a") Set WK3 = Worksheets("b") Application.ScreenUpdating = False WK1.Select ActiveSheet.Unprotect DrawingObjects:=True, Contents:=True, _ Scenarios:=True, password:="abc" WK3.Select ActiveSheet.Unprotect DrawingObjects:=True, Contents:=True, _ Scenarios:=True, password:="abc" Dim A As Integer WK3.Select A = Range("A2").CurrentRegion.Rows.Count WK3.Range("A2:K" & A).ClearContents

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _ Scenarios:=True, password:="abc" "_" の前に、半角スペースを1個いれました。 それで問題なく出来てますよ。 何かエラーが出るのですか?

nakasati
質問者

補足

んーー、ダメです(T-T) 「実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーです。」 と表示されます。 このプログラムを入力する前に何か設定しなきゃいけないんでしょうか?? なぜうまくいかないのかなぁ↓↓

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>参考書どおりに入力しても、うまくできません!!(ё_ё) どのように書いたのですか? コードを見せてください。

nakasati
質問者

補足

ActiveSheet.Protect DrawingObjects:=True,Contents:=True,_ Scenarios:=True,password:="*****"←*****にパスワードを英数字で入れました。

関連するQ&A

  • エクセルにおいて、シートの保護を解除する方法

    エクセルのシートの保護を解除したいのですが、 方法がわかりません。 [ツール]→[保護]→[シート保護の解除]を選ぶと、 パスワードを聞かれます。 パスワードがわからないと解除できないのでしょうか? 今やっている業務は前任の方の引継ぎなのですが、 前任の方がパスワードを残さないまま やめられたようで、データを編集できず 困っています。 パスワードを調べる方法、もしくは、 パスワードを使わずに保護を解除する方法は ないものでしょうか。 どなたかご存知の方、宜しくお願いします。 参考までに OSは、WindowsXP エクセルは、2000を使用しています。

  • Excel「シート保護のパスワード」を解除したい!

    Excelのシート保護のパスワードを解除しようと 下の情報を参考に http://sgunji.hatenablog.jp/entry/2018/01/10/125203 <sheetProtection ・・・・・/> を削除し、 最後はzipを消し、xlsxに戻すだけとあるが、 開くときに「削除したものを元に戻す」を選択するしか出来ず、 そうすると、またシート保護のままになってしまいます…。 シート保護を解除する方法を教えてください。 

  • VBAでのブック・シートの保護・解除について

    エクセル2010のVBAでのブック、シートの保護&解除の方法について教えて頂きたく、 質問させて頂きます。 消されては困るシートや数式がある関係で、ブックオープン時にVBAでブックとシートにそれぞれパスワードをかけて保護しています。 VBAではシートの削除、作成、コピーなどを行っているため、VBA実行時のみ、保護を解除させるようにしたいと思います。 ただ、対象のシート自体にも入力したい項目があるため、その箇所については保護を解除しておく必要があります。 そして、VBA実行後、再度、その箇所以外にパスワードで保護をかけ直します。 イメージとしては下記のような流れになります。 対象ブック:ブックA 対象シート:シート1 パスワード:1234(それぞれ) 常時保護を解除しておきたいセル:range("A6:H106") 1.(オープン時には、)ブック保護&特定のセル以外のシート保護 2.VBA実行時には全ての保護解除 3.VBA終了時に、1の状態に戻る どうぞよろしくお願い致します。

  • シート保護の解除方法

    シート保護の解除方法 EXCEL2007を使っています。 自分で作ったワークシートに保護の設定をしました。 セルを一部修正するため、保護を解除したいのですが、 校閲タブの中の「シート保護の解除」ボタンが灰色になっていて、 クリックできません。 パスワードを設定していないことは間違いありません。 シート保護を解除する方法をお教えください。

  • エクセルの各シートの保護パスワードの一斉解除法は?

    エクセルの各シートにかけられた保護パスワードを一つ一つ開かずに、全シート一斉に解除する方法はありませんか? エクセル2003でシートにデータを記入し、各シートごとにに保護パスワードをかけたのですが、すべてのシートに訂正が発覚しました。 36シートもあるエクセルファイルが8つもあり、シートを一つずつパスワードを解除しては修正し、またパスワードをかけるという気の遠くなるような事態になってしまいました。 全シートを一斉に解除できる方法はありませんか?なお、パスワードはすべて同じです。

  • エクセルシート保護のパスワードが違う!?

    エクセルでシートに保護をかけて、パスワードをつけました。パスワードは忘れないように書き留めておきましたが、保護を解除したくてパスワードを入れたのに「入力したパスワードは間違っています。Caps Lockキーがオフになっていることを確認し大文字と小文字が正しく使われていることを確認してください」と出てしまいます。 パスは間違っていないと思いますが、パス設定のときに入力ミスがあったのかもしれません。(設定時、確認したと思うのですが…)これって、もう、保護を解除する方法はないのでしょうか?大変困っています。

  • シート保護のパスワードは・・・

    下の「シート保護」マクロは、パスワード「111」でシートを保護しなさい。    「シート保護解除」マクロは、パスワード「111」でシートの保護解除をしなさい。 という命令だと思うのですが・・・ Sub シート保護()   ActiveSheet.Protect possword = "111" End Sub Sub シート保護解除()   ActiveSheet.Unprotect possword = "111" End Sub パスワードを入力してシートの保護を解除しようとすると、 入力したパスワードは間違っています。 CapsLockキーがオフになっていることを確認し、 大文字と小文字が正しく使われていることを確認してください。 というメッセージが出るのですが・・・、 マクロで作成した保護は、マクロで解除しないとダメという意味なのですか? シートで保護解除できるようにしたいのですが、できますか?

  • シートの保護のパスワードが分かりません。

    突然 会社を辞めた人のエクセルで作ったものを変更したくて、セルをクリックしたら、 「変更しようとしているセルまたはグラフは保護されているため、読み取り専用となっています。 保護されているセルまたはグラフを変更するには、[ツール]メニューの[保護]をポイントし、「シート保護の解除」をクリックして保護を解除します。パスワードの入力を要求されることもあります。 と、でました。 これを解除するにはパスワードの入力しかないのでしょうか? やられた~!という感じです。本当に困ってます。

  • ★★シート保護のパスワード★★

    エクセルなどでシートの保護のパスワードを忘れて保護解除出来ないときにはどのようにすればよいのでしょうか? 教えてください。

  • シート保護の解除の仕方(パスワードなし)

    以前、こちらで作業方法について質問した時に、パスワードを設定せずにシートの保護をする方法を教えていただきました。 方法としては、単純に「ツール」から「シートの保護」を選び、パスワードを何も入力せずに「OK」をクリックするのです。 そうすると、ロックされたセルを修正する時に、「ツール」から「シートの保護の解除」を選択すると、自動的に保護が解除されます。 しかし、その一つのセルにしか有効ではなく、二つ目のセルを修正しようとすると、また「ツール」から・・・と 一度にたくさんの修正をする時にはとても不便です。 それならば、と思い、パスワードを設定して保護をしてみたのですが、 状況は変わらず、解除時にパスワードを入力してもやはり一つのセルにしか有効ではありませんでした。 そもそもパスワードなしで保護をしたからなのか、それとも全く別の原因があるのか、見当がつきません。 どなたか力を貸して下さい!!

専門家に質問してみよう