
Excelマクロについての質問です。
教えてください。
"グループとアウトラインの設定"を使用して、あるシート上の列or行をグループ化しています。
このグループ化された列or行について、ある列or行が
「展開されている状態か?(表示)」
なのか
「閉じられている状態か?(非表示)」
Excelのマクロで判断するにはどうしたら良いでしょうか?
教えてください。
質問の背景は、
「あるグループ化された列が表示されている」ならば、
「他のグループ化された行を表示する」っといった機能を実現したいと考えています。
また、グループのアウトラインで上記が不可能な場合でも、
単純な列or行の表示・非表示で同様の状態管理が可能であれば
その方法を教えてください。
皆様、宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんばんは。
>「展開されている状態か?(表示)」
> なのか
>「閉じられている状態か?(非表示)」
それは、至って単純な方法でしかないと思います。
以下は、列に対してトグルになります。
Sub TestShowLevel()
Dim i As Integer
Dim j As Integer
Dim r As Range
Static k As Integer
On Error Resume Next
With ActiveSheet
'列の場合
Set r = Range("A1").CurrentRegion
'行に対して、表示しているセルの数を数え
i = r.Rows(1).SpecialCells(xlCellTypeVisible).Count
'実際のセルの数を数えます。
j = r.Rows(1).Cells.Count
'その差が出れば、列が折りたたまれているということです。
If j - i > 0 Then
k = k + 1
Else
k = 1
End If
.Outline.ShowLevels RowLevels:=0, ColumnLevels:=k
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
エクセルの関数について(日付で...
-
エクセルで空白以外のセルの値...
-
エクセルで縦に長い表を印刷
-
一行おきにコピーするマクロが...
-
最終行から上10行をコピーする...
-
エクセルで行挿入した際、自動...
-
エクセル VBA 指定の範囲内をコ...
-
エクセルVBA 複数列をコピーす...
-
[Excel VBA]空白セル以外に連番...
-
エクセルでA列セルが空白の時そ...
-
シート保護の状態で行の追加を...
-
エクセル マクロ 貼り付け先が...
-
A1セルに入力したら、入力時間...
-
お肉の下のシートを煮込んでし...
-
エクセルで既に入力してある文...
-
Excelで同じセルに箇条書きをし...
-
エクセル セルに文字を入力した...
-
エクセルの複数のセルを一括で...
-
エクセルオートフィルタで余計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
エクセルの関数について(日付で...
-
エクセルで空白以外のセルの値...
-
シート保護の状態で行の追加を...
-
一行おきにコピーするマクロが...
-
Excelの非表示列も含めてコピー
-
エクセルで反転コピー
-
エクセルで行挿入した際、自動...
-
エクセルで表示された値だけ行...
-
エクセル VBA 指定の範囲内をコ...
-
エクセルVBA 複数列をコピーす...
-
マクロ初心者です、小数点6桁で...
-
特定の桁数を抽出
-
エクセル マクロ 貼り付け先が...
-
エクセルで縦に長い表を印刷
-
エクセルで図形を挿入するマク...
-
ある操作後に自動的にセルに斜...
-
Excel 条件に従いセル移動するには
-
エクセルマクロ
-
行数が不規則な一週間ごとの合...
おすすめ情報