• ベストアンサー

エクセルシートの保護解除をマクロボタンで

エクセル2010で、シートを編集する前には必ずマクロボタン[編集開始]を押さないと編集出来ない様にしたいのですが何か方法が無いでしょうか? パスワードの入力画面が出ると言うような感じでも、他の方法でも良いので宜しくお願いします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.4

>シートに保護するコードを教えていただけませんか? こんなカンジです。  Dim ws As Worksheet  For Each ws In ThisWorkbook.Worksheets   ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _    Password:="1234"  Next ws

akira0723
質問者

お礼

何回もの丁寧なご回答ありがとうございます。 上記は簡単なので出来そうですが、別の要求も出てきており(複数の人の要求が後から追加されるので最初の設計が甘いと反省)少し、別の仕事にかかりきりになりますので、一旦閉めさせていただきますが、再開示には見捨てないで是非宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

#2です。 https://excel-ubara.com/excelvba4/EXCEL240.html ブックを閉じる時に自動実行(Workbook_BeforeCloseとAuo_Close) を参考にされては。

akira0723
質問者

お礼

有り難うございます。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.3

この処理をマクロで実現すると、かならず拡張子が.xlsmになり 「マクロ付き」で保存しないと次に実行できなくなります。 色々制限がきついんですよ、マクロって。 なので、素直に「シートにパスワードを掛ける」だけにして 置いた方が正解だと思うんですけどね。 https://121ware.com/qasearch/1007/app/servlet/qadoc?QID=010451

akira0723
質問者

補足

このブックはマクロを使っています。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

>編集出来ない様にしたい、が どの程度のものか https://support.office.com/ja-jp/article/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E3%82%92%E4%BF%9D%E8%AD%B7%E3%81%99%E3%82%8B-3179efdb-1285-4d49-a9c3-f4ca36276de6 などで勉強して決める。 保護などの解除の操作をして、マクロの記録をとり、ショットカットに登録してはどうか。 何か初期設定が必要なら、ブックのopenイベントやシートのActiveteイベントを組むこともできる。 必要性や効果を詳しく質問に書いておくべきと思う。 ボタンを作ると利用者には、鬱陶しいのでは?

akira0723
質問者

補足

有り難うございます。 ボタンやショートカットがシートが保護されていても使えることは目から鱗で非常に役に立ちます。 出来ればお手数ですが、Close時に全シートに一括保護するコードを教えていただけませんか? アクティブシートしかやつたことがないので。

全文を見る
すると、全ての回答が全文表示されます。
  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.1

まず、 シートにマクロボタン[編集開始]を配置し このボタンが押されら保護解除の命令を実行するようにします。 具体的には、ボタンを配置したシートオブジェクトに Private Sub CommandButton1_Click()  Me.Unprotect End Sub といったコードを書きます。 続いて、ブックを閉じるときに、 シートが保護されるようにします。 具体的には Thisworkbookオブジェクトに Private Sub Workbook_BeforeClose(Cancel As Boolean)  With ThisWorkbook.Sheets(1)   .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _     Password:="1234"  End With End Sub といったコードを書きます。

akira0723
質問者

お礼

度々お世話になっていることに今気づきました。 試行錯誤で何とか出来そうなのですが、実際に作業してみて抜けに気づいたので別の質問にしました。 厚かましいお願いですかこちらにも宜しくお願いします。 シート移動時の自動保護、です。 宜しくお願いします‼

akira0723
質問者

補足

有り難うございます。 No2さんの方法と組み合わせて解決出きそなのですが実作業を想定してみて気づいたのですが複数のシートをいじられた場合には、クローズ時に全てのシートに保護がかかるようにしておく必要があります。 お手数ですが全てのシートに保護するコードを教えていただけませんか? 当方アクティブシートしか使ったことがないので。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのシート保護をマクロのボタンで

    ご教示下さい。 エクセルでのシート保護の設定をボタン一つで出来るようにと思い、マクロの自動記録で作成してみましたが、設定したはずのパスワードが記録されていません。 シート保護の解除にパスワードの入力が必要なようにする、シート保護のマクロは出来るでしょうか?。 どなたか、よろしくお願いいたします。

  • エクセル マクロボタンの保護

    エクセルでマクロボタンを設定しました。特定の人しかマクロボタンが使用できないようにパスワードをかけるなどすることはできないでしょうか? 電子印鑑として印鑑の画像をpngで作成しエクセルの余白に設置。マクロでボタン押すと承認箇所に電子印鑑をコピーさせる。このマクロボタンを承認者しか使えないようにパスワード保護をかける。承認者以外がマクロボタンを使えないようにしたい。 このような使い方はできるでしょうか? エクセル2010 win7です。

  • エクセルのマクロでシート保護解除時に・・・

    エクセルのマクロでシート保護解除時に・・・ EXCEL2000を使っています。 ワークシートの保護を解除したタイミングで、マクロを自動実行することは可能でしょうか? 現在このような状態になっています。 特定の列(AとB)に保護がかかっています。一般社員はC列以降に入力可能で、パスワード を知っている管理職はA、B列に入力ができるようにしています。 A,B列にはリストボックスを設定しているのですが、これだとパスワードを知らなくても リストボックスで変更する事ができてしまいます。 そういうわけで、パスワードを外したときにリストボックスが表れるようにマクロを設定 したいと思っています。 VBAをいじった事がほとんどありませんでしたので、これまでのところは色々な方のコード を見ながら進めてきたのですが、「パスワードを解除した時に発動する」という条件を 見つける事ができなかったため、困窮した挙句この場で質問させて頂きました。 すみませんが、どなたかアドバイス頂けないでしょうか。 よろしくおねがいします。

  • Excelでsheetに保護をかけたらマクロは動きませんか?

    マクロ初心者です。 Excelでsheetに保護をかけてしまうとマクロは動か なくなるものなのでしょうか?ちなみに、マクロで コピー等の処理を行うセルのロックは解除しておいた のですが…。 sheetを2つ作って、一方の保護付きsheetに情報を 入力をしておき、もう一方の保護無しsheetに同じ 情報をコピーした上でマクロ処理させる、という 方法は考えたのですが、もっとスマートな方法を ご存知でしたら教えて下さい。よろしくお願い致し ます。

  • excel2003でシートの保護を解除したい。

    excel2003でシートの保護を解除したい。 お世話になります。 今勤怠表を作っているのですが従業員に変更されないように書式設定でロックをしシートの保護にて変更できないようにしています。 ところが後に不具合が見つかったため編集しようとしているのですがシートを保護しているためシート単位でパスワードを入れ編集しないといけません。 2・3枚程度なら手入力するのですが枚数が多いため大変時間がかかります。 どなたかパスワードを入れなくても編集できる方法ご存知ないでしょうか? よろしくお願いいたします。 例:PCnameや使用者を見て自動でパスワードが解除されるマクロ等

  • エクセルのシート上のマクロボタン

    エクセルのシートに貼り付けたマクロボタンを、シートのスクロールにかかわらず、位置を変えないようにしたいのですが、どうすればよいのでしょうか。ボタンの順序の背面とか前面とかの指定がその目的かと思ったんですが・・・

  • エクセルのマクロボタンが編集できません

    タイトルの通り、マクロをリンクさせたボタンが編集不可能になりました。 シート上の位置を移動させたいのですが、右クリックがききません。 印刷シートを手直ししてボタンの位置がじゃまになってしまいました。参照関係の確認が面倒なのでできれば現在のシートを使いたいのですが、手だてをお教えください。 左クリックでマクロは動きますし、新たにマクロボタンを書いてもそれは問題なく編集できます。よろしくお願いします。 EXCEL2002です。

  • エクセルワークシート上に印刷開始ボタンのマクロをつくりたい

    昨日同様の質問しましたが、誤字があったので 再度ご質問させていただきます。 ワークシート上に印刷開始用のボタンを作りたい。 印刷開始のマクロの設定がまずわかりません。 マクロが出来ればそれのボタンを作れば良いと思います。 詳しい手順が判りません。 ちなみにエクセル2007です、宜しくお願いします。

  • エクセルのシート保護をマクロで自動化したい!

    EXCEL2000で仕事をしていますが、シート保護をマクロで自動化したいんです。それもパスワード入力を求めるメッセージボックスが表示されるような形で・・・ ツール→保護→シートの保護 ということでシート保護が出来るのは当然知っていますが、複数の人間が共有して使うファイルということのあり、作業後閉じるときに忘れる可能性大なので、コマンドボタンで簡単にしたい。パスワード付というのは無理なんでしょうか?

  • excelでマクロシートをコピーしたとき

    excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。

専門家に質問してみよう