- ベストアンサー
エクセルで離れた列を選択してグループ化出来ますか?
こんにちは。 エクセル表で、A~C列とE~G列をグループ化して、 表示や非表示を同時にしたいのですが、 それらの列を選択してグループ化しようとすると「複数の選択範囲に対してそのコマンドを使用することは出来ません」と出ます。 グループ化出来ないのでしょうか? それとも他に、右クリックの「表示しない、再表示」の他に、グループ化に匹敵した方法はありますか? よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
マクロ使うのは、大変ですようね。次のようにすれば表示や非表示を同時にすることが出来ます。 先ず、A~C列を「データ」→「グループ化・・・」→「グループ化」します。 次に、同様にE~G列をグループ化します。 すると、表の左上に「I」と「2」のボタンが表示されます。 「I」を押せば非表示、「2」を押せば表示が同時に出来ます. お試し下さい。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
A,B.D,E列を列番号部をCTRLキーを使って、クリックして指定しました。 挿入ー名前ー定義ー名前を例えば「範囲1」と名づける。 非表示の必要が起こったとき 名前ボックスから「範囲1」をクリック 書式ー列ー表示しない。これで C,D、・・・が表示された。 再表示は 名前ボックスから「範囲1」をクリック 書式ー列ー再表示 で、A,B,C,・・・の表示になりました。 こういうのはどうでしょう。
- zap35
- ベストアンサー率44% (1383/3079)
やはりマクロを利用するのが簡便だと思います。 まず、まとめて表示/非表示にしたい列を選択して「挿入」→「名前」→「定義」を選択します。名前として「範囲」とつけておいてください。(名前を使用するのは範囲の変更が容易にできるからです。また「」はいりません) 次にALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。 Sub Macro() Dim curRNG As Range If TypeName(Selection) = "Range" Then Set curRNG = Selection End If Range("範囲").EntireColumn.Hidden = Not (Range("範囲").EntireColumn.Hidden) If Not curRNG Is Nothing Then curRNG.Select End If End Sub 実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択します。実行するたびに表示/非表示が切り替わります。 また画面上にオートシェイプを描いて、「シェイプ右クリック」→「マクロの登録」でマクロを登録しておけば簡単に実行できます。
- ham_kamo
- ベストアンサー率55% (659/1197)
自分で試してみたら(Excel2000です)、A~C列とE~G列を選択して非表示にできました。が、再表示はいっぺんにはできませんでした。 ボタンにマクロを割り当てて、ボタンを押せばA~C列とE~G列の表示・非表示をするようにしてみてはいかがでしょうか。 Alt+F11でVBAの画面を開き、右側に以下のマクロを貼り付けます。 Sub 列の非表示切替() Columns("A:C").EntireColumn.Hidden = Not Columns("A:C").EntireColumn.Hidden Columns("E:G").EntireColumn.Hidden = Not Columns("E:G").EntireColumn.Hidden End Sub エクセルのシートに戻って、コントロールツールボックス、またはフォームのツールボックスからボタンをシートに貼り付け、上のマクロを登録してみてください。(ボタンはD列など隠れないところに貼り付けてください)
お礼
ご回答ありがとうございますm(_ _)m はい・・・、マクロにもあまり長けていませんので、こちらの方法で今回作成しました! ありがとうございました。 非表示/再表示にしたい列がかなりたくさんあるので、いずれはマクロが作成できるようになったらやってみたいと思います。 ご回答くださった皆様ありがとうございました。