- 締切済み
エクセルの各シートの保護パスワードの一斉解除法は?
エクセルの各シートにかけられた保護パスワードを一つ一つ開かずに、全シート一斉に解除する方法はありませんか? エクセル2003でシートにデータを記入し、各シートごとにに保護パスワードをかけたのですが、すべてのシートに訂正が発覚しました。 36シートもあるエクセルファイルが8つもあり、シートを一つずつパスワードを解除しては修正し、またパスワードをかけるという気の遠くなるような事態になってしまいました。 全シートを一斉に解除できる方法はありませんか?なお、パスワードはすべて同じです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
パスワードが「xyz」で、すべてのシートの保護を解除するなら、以下のようなマクロを実行してください。 Sub SAMPLE() Dim WS As Worksheet For Each WS In Worksheets WS.Unprotect Password:="xyz" Next End Sub 編集後、まとめて保護したい場合は、上記のUnprotectをProtectにしたマクロを実行することになります。
- yy_kd
- ベストアンサー率25% (5/20)
多数のBookがあるとして 他のBookの各シートについてUnprotectしてBookをSave BK=・・・はBookのあるだけBook名を指定して下さい。 UnprotectするBookと同じディリクトリにPW解除マクロを 記したBookを保存して実行です。 Sub PW解除() BK = "book1.xls": GoSub PW BK = "book2.xls": GoSub PW BK = "book3.xls": GoSub PW Exit Sub PW: FL = ThisWorkbook.Path & "\" & BK Dim sr Set sr = CreateObject("Excel.Application") sr.Workbooks.Open FL, ReadOnly:=False For i = 1 To sr.Sheets.Count sr.Sheets(i).Select sr.ActiveSheet.Unprotect Password:="XXXXXXX" Next sr.DisplayAlerts = False sr.Save Set sr = Nothing Return End Sub
お礼
ありがとうございました。 ちょっと難しかったですが、なんとかできそうです。
- camputer
- ベストアンサー率64% (22/34)
今晩は。 VBAでやるのはありでしょうか? 自分はいつも下のようなコードを書いて実行しています。 Sub 全シートUnProtect() 'パスワード解除の場合 For Each MyWorksheet In Worksheets MyWorksheet.Activate If ActiveSheet.Name = "Data" Then ActiveSheet.Unprotect Password:="9999" Else ActiveSheet.Unprotect Password:="9999" End If Next End Sub Sub 全シートProtect() 'パスワード設定の場合 For Each MyWorksheet In Worksheets MyWorksheet.Activate If ActiveSheet.Name = "Data" Then ActiveSheet.Protect Password:="9999", DrawingObjects:=True, _ contents:=True, UserInterfaceOnly:=True Else ActiveSheet.Protect Password:="9999", DrawingObjects:=True, _ contents:=True, UserInterfaceOnly:=True End If Next End Sub VBAの実行方法については、 エクセルの画面でAltを押しながらF11を押す →出てきた画面の左側のツリーの中にある、「ThisWorkbook」(緑色のアイコン)をダブルクリック →右の画面に上のコードをそのままコピペ →上記の「'パスワード解除の場合 」の所を1回クリック →画面の上のツールバーにある再生ボタン(三角形)をクリック でできます。上記の「9999」を好きなパスワードに書き換えて実行してください。 少しでもお役に立てれば。
お礼
ありがとうございました。 ばっちり成功しました。 すごいワザですね。
お礼
すごい!の一言です。 ありがとうございました。 ばっちり成功しました。