Excel VBA グループ化で関連する行や列オブジェクトをまとめて扱う

 

Excel VBA  グループ化を使用する目的は、関連する行や列、または形状やオブジェクトをまとめて扱いやすくすることです。複数の要素を一度に操作したり、表示や非表示を切り替えたりするのが簡単になります。具体的な使い方や、注意点やサンプルコードを紹介します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA グループ化の利用

以下のようなシーンで利用されます。

・関連する行や列を折りたたむ/展開するために使用。

・複数の図形やオブジェクトを一緒に移動させたり、操作したりするために使用。

Excel VBA グループ化の利用|使い方とポイント

使い方

行や列のグループ化
1. 範囲を選択します(例: 行をグループ化する場合は、対象の行全体を選択)。
2. VBAコードでRowsまたはColumnsオブジェクトを使用してグループ化を実行します。

図形やオブジェクトのグループ化
1. グループ化したい図形やオブジェクトを選択します。
2. VBAコードでShapes.Rangeを使い、その後Groupメソッドを使用します。

 

ポイント

・グループ化すると、元の個別の操作が制限されることがあるため、必要に応じてグループ化/解除を行う必要があります。

・無関係な要素を誤ってグループ化しないように注意します。

 

Excel VBA グループ化のサンプルコード

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

行のグループ化
Option Explicit

Sub GroupRows()
    ' 行2から5をグループ化
    Rows("2:5").Group
End Sub

図形のグループ化

Option Explicit

Sub GroupShapes()
    ' 図形1と図形2をグループ化
    Dim myShapes As Object
    Set myShapes = ActiveSheet.Shapes.Range(Array("Rectangle 1", "Rectangle 2"))
    myShapes.Group
End Sub

グループ化は作業の効率を向上させるための強力なツールですが、使い方には注意が必要です。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問