メインコンテンツへスキップ

Excelで隠しシートを保護するためにパスワードを設定するにはどうすればよいですか?

重要な非表示のワークシートを含むブックがあり、他の人がそれらを再表示できないようにする場合。 ここで、非表示のワークシートを完全に保護するためにパスワードを設定する必要があります。他のユーザーがそれらを再表示するときは、パスワードを入力する必要があります。 このタスクをExcelですばやく簡単に処理する方法はありますか?

VeryHidden機能で隠しシートを保護するためのパスワードを設定する

VBAコードで隠しシートを保護するためのパスワードを設定する

Kutools forExcelで一度に複数のワークシートを保護する


VeryHidden機能で隠しシートを保護するためのパスワードを設定する

通常、VeryHidden関数を使用して、最初にワークシートを非表示にしてから、それらのパスワードを設定できます。次の手順に従ってください。

1。 ブックを開いて、 Altキー+ F11キーを押して Microsoft Visual Basic forApplicationsウィンドウ.

2。 の中に Microsoft Visual Basic forApplicationsウィンドウ、クリック 詳しく見る > プロジェクトエクスプローラー & プロパティウィンドウtoペインを表示します。

doc-protect-hidden-sheets-01

3. そして、 プロジェクト-VBAProject ペインで、非表示にするワークシートを選択し、 プロパティ ペインで、からドロップダウンリストをクリックします 目に見えます 選択するセクション xlsheetveryhidden オプション、スクリーンショットを参照してください:

doc-protect-hidden-sheets-02

4。 ワークシートを非常に非表示にした後、それを保護するためのパスワードを設定できます。 の中に Microsoft Visual Basic forApplicationsウィンドウ、クリック インセット > モジュール 空のモジュールを開き、をクリックします ツール > VBAProjectのプロパティ、スクリーンショットを参照してください:

doc-protect-hidden-sheets-03

5。 それから飛び出した VBAProject-プロジェクトのプロパティ ダイアログボックスで、をクリックします。 保護 タブをクリックしてチェックします 表示するためにプロジェクトをロックする ボックスで、最後に、パスワードを入力して確認します プロジェクトのプロパティを表示するためのパスワード セクション、スクリーンショットを参照してください:

doc-protect-hidden-sheets-04

6。 次に、をクリックします OK ボタンをクリックしてこのダイアログを終了し、 Microsoft Visual Basic forApplicationsウィンドウ。

7。 ブックを次のように保存します Excelマクロが有効なブック パスワード保護を有効にするには、フォーマットして閉じます。

doc-protect-hidden-sheets-05

8。 次回、このブックを開いて、非常に隠されたシートを表示したい場合は、パスワードの入力を求められます。 スクリーンショットを参照してください:

doc-protect-hidden-sheets-06


デモ:隠しシートを保護するためのパスワードの設定


VBAコードで隠しシートを保護するためのパスワードを設定する

非表示のシートを保護するためのパスワードを設定するために、VBAコードについても説明します。

1。 保護するワークシートをXNUMXつ非表示にします。

2。 を押し続けます Alt + F11 キーを押して Microsoft Visual Basic forApplicationsウィンドウ.

3。 それから、 このワークブック 左から プロジェクトエクスプローラー、ダブルクリックして開きます モジュール、次に、次のVBAコードをコピーして空のモジュールに貼り付けます。

VBAコード:隠しシートを保護するためのパスワードを設定する

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim xSheetName As String
xSheetName = "Sheet1"
If Application.ActiveSheet.Name = xSheetName Then
    Application.EnableEvents = False
    Application.ActiveSheet.Visible = False
    xTitleId = "KutoolsforExcel"
    response = Application.InputBox("Password", xTitleId, "", Type:=2)
    If response = "123456" Then
        Application.Sheets(xSheetName).Visible = True
        Application.Sheets(xSheetName).Select
    End If
End If
Application.Sheets(xSheetName).Visible = True
Application.EnableEvents = True
End Sub

doc-protect-hidden-sheets-07

Note:上記のコードでは、 Sheet1 xSheetName = "Sheet1" スクリプトは、保護する非表示のワークシート名であり、 123456 セクションに 応答が「123456」の場合 scriptは、非表示のシートに設定したパスワードです。 必要に応じて変更できます。

4。 これで、非表示のシートを表示するときに、パスワードを入力するためのプロンプトボックスが表示されます。 そして、このプロンプトボックスは、クリックして非表示のシートを表示するたびに表示されます。

doc-protect-hidden-sheets-08


Kutools forExcelで一度に複数のワークシートを保護する

ブックの複数の選択されたワークシートまたはすべてのワークシートを一度に保護する場合、通常、Excelで手動でXNUMXつずつ保護する必要があります。 しかし、あなたが持っているなら Kutools for Excelそのと ワークシートを保護する ユーティリティ、あなたはワンクリックでそれらを保護することができます。

Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます

インストールした後 Kutools for Excel、次のようにしてください。

1に設定します。 OK をクリックします。 クツールズプラス > ワークシートを保護する、スクリーンショットを参照してください:

2。 の中に ワークシートを保護する ダイアログボックスでは、ワークブック内のすべてのワークシートがリストボックスに一覧表示されます。保護するワークシートを選択してください。 スクリーンショットを参照してください:

doc-protect-hidden-sheets-010

3。 そして、 OK、次のダイアログボックスで、パスワードを入力して再入力し、[ OK、保護されているワークシートの数を通知する別のプロンプトボックスが表示されます。

doc-protect-hidden-sheets-011

4。 次に、をクリックします OK ダイアログを閉じると、ブック内のすべてのワークシートが同じパスワードで保護されています。

注: すべてのワークシートの保護を一度に解除する場合は、クリックするだけです。 クツールズプラス > ワークシートの保護を解除する、パスワードを入力して保護をキャンセルします。

 今すぐExcel用のKutoolsをダウンロードして無料トライアル!


関連記事:

Excelで一度に複数のワークシートを保護するにはどうすればよいですか?

ブックを保護するためのパスワードを設定するにはどうすればよいですか?

ExcelでVBAコードを保護/ロックする方法は?

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
jak ktoś ukrył arkusz jak w opisanym pierwszym sposobie, a nie znamy hasła to jak odkryć arkusz skoro hasło do visual basic jest w ukrytym arkuszu?
This comment was minimized by the moderator on the site
Hello, ciekawa

Sorry, at present, there is no good way for canceling the protect of the hidden sheet if you forget the password.

But, you can apply the Uhide all hidden sheets feature of Kutools for Excel to unhide all the hidden sheets without any password.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-unhide-sheets.png
You can download Kutools for Excel and use it freely for 30 days.
Please have a try. Thank you!
This comment was minimized by the moderator on the site
This is elegant. IF the person opening the spreadsheet does not enable macros (i.e. VBA) what happens? Is the hidden sheet a sitting duck? Or is it quite impossible to find?
This comment was minimized by the moderator on the site
Hi, David,
If you open the workbook without enabling the macro, the hidden sheet is displayed as normal. In this case, I recommend you to apply the first method for solving this job.
Thank you!
This comment was minimized by the moderator on the site
Your code allows users to view the sheet as long as they hold the left mouse button while the mouse pointer is on the tab. Try this to keep sheet hidden until correct password is entered: If response = "123456" Then Application.Sheets(xSheetName).Visible = True Application.Sheets(xSheetName).Select Else Application.Sheets(xSheetName).Visible = False[/b][/b] End If End If Application.EnableEvents = True End Sub
This comment was minimized by the moderator on the site
I have a question about your password restricted worksheet code. You posted the following code which works....what I am looking for is code that will do this with multiple worksheets and multiple passwords within the same workbook. Is this possible? Private Sub Workbook_SheetActivate(ByVal Sh As Object) 'Update 20140925 Dim xSheetName As String xSheetName = "sheet1" If Application.ActiveSheet.Name = xSheetName Then Application.EnableEvents = False Application.ActiveSheet.Visible = False xTitleId = "KutoolsforExcel" response = Application.InputBox("Password", xTitleId, "", Type:=2) If response = "123456" Then Application.Sheets(xSheetName).Visible = True Application.Sheets(xSheetName).Select End If End If Application.Sheets(xSheetName).Visible = True Application.EnableEvents = True End Sub
This comment was minimized by the moderator on the site
Found a solution yet?

I am having the same problem
This comment was minimized by the moderator on the site
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim aSheetName As String
Dim bSheetName As String
Dim cSheetName As String
aSheetName = "sheet1"
bSheetName = "sheet2"
cSheetName = "sheet3"

If Application.ActiveSheet.Name = aSheetName Then
Application.EnableEvents = False
Application.ActiveSheet.Visible = False
xTitleId = "KutoolsforExcel"
response = Application.InputBox("Password", xTitleId, "", Type:=2)
If response = "123" Then
Application.Sheets(aSheetName).Visible = True
Application.Sheets(aSheetName).Select
Else
Application.Sheets(aSheetName).Visible = False
End If
End If
Application.EnableEvents = True

If Application.ActiveSheet.Name = bSheetName Then
Application.EnableEvents = False
Application.ActiveSheet.Visible = False
xTitleId = "KutoolsforExcel"
response = Application.InputBox("Password", xTitleId, "", Type:=2)
If response = "456" Then
Application.Sheets(bSheetName).Visible = True
Application.Sheets(bSheetName).Select
Else
Application.Sheets(bSheetName).Visible = False
End If
End If
Application.EnableEvents = True

If Application.ActiveSheet.Name = cSheetName Then
Application.EnableEvents = False
Application.ActiveSheet.Visible = False
xTitleId = "KutoolsforExcel"
response = Application.InputBox("Password", xTitleId, "", Type:=2)
If response = "789" Then
Application.Sheets(cSheetName).Visible = True
Application.Sheets(cSheetName).Select
Else
Application.Sheets(cSheetName).Visible = False
End If
End If
Application.EnableEvents = True

End Sub
This comment was minimized by the moderator on the site
Thanks for the code, just have one question. When you open the sheet you are asked for question, then you enter it and the sheet is visible, but when you jump to next sheet and try to re-open previous sheet, you are asked for the same password again everytime. My question is can you bypass that and make excel ask for password once?
This comment was minimized by the moderator on the site
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim xSheetName As String
aSheetName = "sheet1"
bSheetName = "sheet2"
cSheetName = "sheet3"

If Application.ActiveSheet.Name = aSheetName Then
Application.EnableEvents = False
Application.ActiveSheet.Visible = False
xTitleId = "KutoolsforExcel"
response = Application.InputBox("Password", xTitleId, "", Type:=2)
If response = "1234" Then
Application.Sheets(aSheetName).Visible = True
Application.Sheets(aSheetName).Select
Else
Application.Sheets(aSheetName).Visible = False
End If
End If
Application.EnableEvents = True

If Application.ActiveSheet.Name = bSheetName Then
Application.EnableEvents = False
Application.ActiveSheet.Visible = False
xTitleId = "KutoolsforExcel"
response = Application.InputBox("Password", xTitleId, "", Type:=2)
If response = "2345" Then
Application.Sheets(bSheetName).Visible = True
Application.Sheets(bSheetName).Select
Else
Application.Sheets(bSheetName).Visible = False
End If
End If
Application.EnableEvents = True

If Application.ActiveSheet.Name = cSheetName Then
Application.EnableEvents = False
Application.ActiveSheet.Visible = False
xTitleId = "KutoolsforExcel"
response = Application.InputBox("Password", xTitleId, "", Type:=2)
If response = "3456" Then
Application.Sheets(cSheetName).Visible = True
Application.Sheets(cSheetName).Select
Else
Application.Sheets(cSheetName).Visible = False
End If
End If
Application.EnableEvents = True

End Sub
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations