Note: The other languages of the website are Google-translated. Back to English

保護されたワークシートの行をグループ化およびグループ解除する方法は?

ご存知のとおり、保護されたワークシートでは、一部の操作を適用するための多くの制限があります。 たとえば、グループ化されたデータとグループ化されていないデータを切り替えることはできません。 保護されたワークシートの行をグループ化またはグループ解除する方法はありますか?

VBAコードを使用して保護されたワークシートの行をグループ化およびグループ解除します

OfficeタブOfficeでタブ付きの編集と閲覧を有効にし、作業をはるかに簡単にします...
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
  • 何でも再利用: 最もよく使用される、または複雑な数式、グラフなどをお気に入りに追加して、後ですぐに再利用できます。
  • 20以上のテキスト機能: テキスト文字列から数値を抽出します。 テキストの一部を抽出または削除します。 数字と通貨を英語の単語に変換します。
  • マージツール:複数のワークブックとシートをXNUMXつに。 データを失うことなく複数のセル/行/列をマージします。 重複する行と合計をマージします。
  • 分割ツール:値に基づいてデータを複数のシートに分割します。 XNUMXつのワークブックから複数のExcel、PDF、またはCSVファイル。 XNUMX列から複数列。
  • 貼り付けスキップ 非表示/フィルタリングされた行; カウントと合計 背景色別; パーソナライズされた電子メールを複数の受信者にまとめて送信します。
  • スーパーフィルター: 高度なフィルタースキームを作成し、任意のシートに適用します。 並び替え 週、日、頻度など。 フィルタ 太字、数式、コメント...
  • 300 以上の強力な機能。 Office 2007-2021 および 365 で動作します。 すべての言語をサポートします。 企業や組織に簡単に導入できます。

矢印青い右バブル VBAコードを使用して保護されたワークシートの行をグループ化およびグループ解除します

たぶん、この問題を解決する他の良い方法はありませんが、VBAコードを使用して、次のようにしてください:

1。 使用するワークシートをアクティブ化します。ワークシートがまだ保護されていないことを確認してください。

2。 次に、 Alt + F11 キー、そしてそれは開きます Microsoft Visual Basic forApplicationsウィンドウ.

3に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュールウィンドウ.

VBAコード:保護されたワークシートの行をグループ化およびグループ解除します

Sub EnableOutlining()
'Update 20140603
Dim xWs As Worksheet
Set xWs = Application.ActiveSheet
Dim xPws As String
xPws = Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = True
End Sub

4. 次に、 F5 このコードを実行するためのキーを押すと、現在のワークシートを保護するためにパスワードを入力するように促すプロンプトボックスが表示されます。 スクリーンショットを参照してください:

保護シート内のドキュメントグループ

5。 次に、をクリックします OK、ワークシートは保護されていますが、この保護されたワークシートのアウトライン記号を拡大および縮小できます。スクリーンショットを参照してください。

保護シート内のドキュメントグループ

注意:ワークシートがすでに保護されている場合、このコードは機能しません。


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

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (32)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
これはうまく機能しているように見えますが、ブックを閉じて再度開くと、同じ問題が発生します。折りたたまれたグループを展開できません。
このコメントは、サイトのモデレーターによって最小化されました
私は同じ問題を抱えています、誰かがそれを克服する方法を知っていますか? どうもありがとう
このコメントは、サイトのモデレーターによって最小化されました
これにはVBAが必要であり、エンドユーザーはこれが機能するためにマクロを許可する必要があります。

Alt + F11を押して、Visual BasicEditorをアクティブにします。

左側のプロジェクトエクスプローラーの[MicrosoftExcelオブジェクト]の下にある[ThisWorkbook]をダブルクリックします。

表示されるモジュールに次のコードをコピーします。



プライベートサブWorkbook_Open()
ワークシート付き( "EmpSummary")
.EnableOutlining = True
.Protect UserInterfaceOnly:= True
最後に
End Subの



このコードは、ブックを開くたびに自動的に実行されます。
このコメントは、サイトのモデレーターによって最小化されました
[quote]これはうまく機能しているようですが、ブックを閉じて再度開くと、同じ問題が発生します。折りたたまれたグループを展開できません。mayichによって[/ quote]この問題は、次のように解決されます。Private Sub Workbook_Open()Dim wsh As Variant For Each wsh In Worksheets(Array( "Sheet1"、 "Sheet2"))wsh.EnableOutlining = True wsh.Protect Password:= "260615" 、DrawingObjects:= False、_ contents:= True、_Scenarios:= True、_ AllowFiltering:= True、_ AllowFormattingCells:= True、_ userinterfaceonly:= True Next wsh End Sub
このコメントは、サイトのモデレーターによって最小化されました
同じ問題が発生しました。シートを閉じて再入力するとすぐに機能しません...使用場所と使用方法を段階的に説明してくださいこの問題は次のように解決されますPrivateSubWorkbook_Open()Dim wsh Asワークシートの各wshのバリアント(Array( "Sheet1"、 "Sheet2"))wsh.EnableOutli ning = True wsh.Protect Password:= "2606 15"、DrawingObjects:= False、_ contents:= True、_シナリオ: = True、_ AllowFiltering:= True、_ AllowFormattingCells:= True、_ userinterfaceonly:= True Next wsh End Sub
このコメントは、サイトのモデレーターによって最小化されました
どうもありがとうございましたこれは本当にうまくいきます。
このコメントは、サイトのモデレーターによって最小化されました
これをどのように機能させましたか? 上記のVBAに追加して別のモジュールを作成しようとしましたが、それでも機能しません。 コードを変更する必要がありますか? 使用しているパスワードのように、またはシート名を変更する必要がありますか?
このコメントは、サイトのモデレーターによって最小化されました
ブックを閉じるときに同じ問題が発生します。 それを修正するためのアイデアはありますか?
このコメントは、サイトのモデレーターによって最小化されました
Private Sub Workbook_Open()Dim wsh As Variant For Each wsh In Worksheets(Array( "TD_ phase_3"、 "RS_Phase_2"))wsh.EnableOutlining = True wsh.Protect Password:= "260615"、DrawingObjects:= False、_ contents: = True、_シナリオ:= True、_ AllowFiltering:= True、_ AllowFormattingCells:= True、_ userinterfaceonly:= True Next wsh End Sub
このコメントは、サイトのモデレーターによって最小化されました
これがどのように機能するかはまだわかりません。 新しいモジュールを作成しますか、それとも上記のモジュールに接続しますか?
このコメントは、サイトのモデレーターによって最小化されました
元の手順で行ったように、これをどこに配置するかについて、ステップバイステップでウォークスルーできますか。 ありがとうございました。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは! 最初のマクロを使用して成功しましたが、ブックを閉じるという同じ問題が発生し、マクロが機能しなくなりました。 私は上記の解決策を見ましたが、それをまったく機能させることができません。 私をステップスルーしていただけませんか? 両方のコードを組み合わせるのですか、それとも後者を使用するだけですか? パスワードが「dog」の場合、コード内の値の1つを置き換えますか? XNUMXつのワークシート( "SheetXNUMX")にのみ適用しています。 どこでも使用できますか? よろしくお願いします!!
このコメントは、サイトのモデレーターによって最小化されました
助けてください。保護されているExcelスプレッドシートで、いくつかのロールと列を折りたたんで展開したいと思います。 マクロを使用してこれを行うにはどうすればよいですか? 私はあなたが示したものを試しましたが、それらは私のスプレッドシートでは機能しません。 助けてください。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、保護されているExcelスプレッドシートでロールと列を展開および折りたたむのを手伝ってください。 上に示したものを使用してみましたが、機能しません。
このコメントは、サイトのモデレーターによって最小化されました
質問/回答されましたか? コードのどこで個人パスワードを指定/変更できますか?
このコメントは、サイトのモデレーターによって最小化されました
パスワードを別の値に変更するにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
コマンドを使用すると、次のようなエラーメッセージが表示されます。
プライベートサブWorkbook_Open()
バリアントとしての薄暗いwsh
ワークシート内の各wshについて(Array( "TD_phase_3"、 "RS_Phase_2"))
wsh.EnableOutlining = True
wsh.Protect Password:= "260615"、DrawingObjects:= False、_
内容:= True、_
シナリオ:= True、_
AllowFiltering:= True、_
AllowFormattingCells:= True、_
userinterfaceonly:= True
次のwsh
End Subの
実行時エラー「9」:
添え字が範囲外
このコメントは、サイトのモデレーターによって最小化されました
これは少しの間機能します。閉じて再度開くと、停止します:(
このコメントは、サイトのモデレーターによって最小化されました
私にとっても、他に解決策はありますか?
このコメントは、サイトのモデレーターによって最小化されました
サブWorkbook_Open()
'更新20140603
ワークシートとしての薄暗いxW
xWs=Application.ActiveSheetを設定します
文字列としての薄暗いxPws
xPws = "rfc"'' Application.InputBox( "Password:"、xTitleId、 ""、Type:= 2)
xWs.Protect Password:= xPws、Userinterfaceonly:= True
xWs.EnableOutlining = True
End Subの
このコメントは、サイトのモデレーターによって最小化されました
このコードが機能するようになりました。 ただし、閉じて再度開くときは、[開発者]タブに移動し、[マクロ]ボタンを選択し、[実行]を選択して、パスワードを入力する必要があります。

コードからパスワードを削除する方法、またはこのマルコを自動的に実行してパスワードを入力する自動実行コードはありますか?
このコメントは、サイトのモデレーターによって最小化されました
ファイルを閉じて再度開いた後にファイルでこれが機能しない問題を修正するには、新しいモジュールではなく、MicrosoftExcelオブジェクトの下の「ThisWorkbook」にVBAコードを貼り付ける必要があります。 これにより、ファイルが開かれるたびにマクロが自動的に実行されます。
このコメントは、サイトのモデレーターによって最小化されました
新しいモジュールではなく、Microsoftオブジェクトの下でThisWorkbookについてpeachycleanするために6日前に議論されたVBAコードのビジュアルがありますか。 ブックに戻ると機能が失われます
このコメントは、サイトのモデレーターによって最小化されました
誰かがこれを必要とするかもしれません、私はこれを機能させる方法を考え出したと思います。

まず、@ peachycleanが提案するように、コードはMicrosoftExcelオブジェクトの下の「ThisWorkbook」に記述する必要があります。
次に、@ Sravanthiが記述したコードを取得し、上記の場所に貼り付けます。

サブWorkbook_Open()
'更新20140603
ワークシートとしての薄暗いxW
xWs=Application.ActiveSheetを設定します
文字列としての薄暗いxPws
xPws = "rfc"'' Application.InputBox( "Password:"、xTitleId、 ""、Type:= 2)
xWs.Protect Password:= xPws、Userinterfaceonly:= True
xWs.EnableOutlining = True
End Subの

重要なのは、保護したいがグループ化の使用を許可するシート上にいる必要があり、保護せずにブックを保存して閉じる必要があるということです。 これを開くと、マクロが自動的に開始され、パスワード「rfc」でシートが保護されます。 これでグループ化を使用できるようになり、シートが保護されます。

私の解決策では、適用するパスワードを変更したので、ここで任意のパスワードを書き換えることができます。
xPws = "WRITEANYPASSWORDHERE"'' Application.InputBox( "Password:"、xTitleId、 ""、Type:= 2)

さらに、ファイルを開くときに保護対象のシートをアクティブにしたくなかったため、この部分を変更しました。
xWs=Application.ActiveSheet->を設定します
xWs = Application.Worksheets( "WRITEANYSHEET'SNAMEHERE")を設定します

これでチャームのように機能し、「WRITEANYSHEET'SNAMEHERE」という名前のシートは保護されますが、グループ化は適用可能です。 長期的には、このファイルを変更して解決策を維持したい場合は、次のオープニングで機能するようにこのシートの保護を解除する必要があるという問題があると思います。 別のマクロを作成して、閉じるときに自動的に保護を解除できると思います:)


役に立ったと思います。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは..これは驚異的に機能しました。 私が今行き詰まっている唯一の場所は、ワークブックの複数のシートに対してこれを行う必要があるということです。 uplsはそれを助けることができますか。
このコメントは、サイトのモデレーターによって最小化されました
私はVBAについて何も知らないので、この文字列はまさに私が必要としていたもののように見えました。 最初はこれを機能させることができましたが、指摘されたように、スプレッドシートを閉じて再度開くと、機能しなくなります。 前述のように「ThisWorkbook」にコードを書き込もうとしましたが、その方法がわかりません。 「ThisWorkbook」は見えますが、書き方がわかりません。 モジュールを作成するために私が見るすべての方法で、「MicrosoftExcelObjects」フォルダーの外にある別の「Modules」フォルダーに新しいモジュールが作成されます。 このコードを「ThisWorkbook」に入れる方法について何か提案はありますか?
このコメントは、サイトのモデレーターによって最小化されました
手ごわい
このコメントは、サイトのモデレーターによって最小化されました
保護されたワークシートの行と列をグループ化およびグループ解除する方法は?
このコメントは、サイトのモデレーターによって最小化されました
f * ck、これは後で私のExcelを盗み、個人的にパスワードを変更しました
このコメントは、サイトのモデレーターによって最小化されました
これを共有ブックで機能させる方法はありますか? -トラックの変更が必要です、ありがとう
ここにはまだコメントが投稿されていません
もっと読む
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護