[[20160613172404]] 『指定の条件一致する行をグループ化』(NAKA) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定の条件一致する行をグループ化』(NAKA)

1行目から150行目までの範囲で、B列の各セルの先頭に全角1文字分の
スペースがある行をグループ化して閉じられるようにする
マクロをご教示ください。

空白セルや2文字分以上の空白は拾わないように
お願いいたします。

以上、どうぞよろしくお願いいたします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 そういった行の塊が複数あった場合は、それぞれをグループ化して閉じるということですね?

 目的は グループ化 ですか? それとも、そういった行を【非表示】にしたい(グループ化にはこだわらない)ということですか?

 それと、

 >>2文字分以上の空白

 空白というのは、何もないことで、2文字以上の空白というものはありません。
 先頭が全角スペースでも、2桁目も全角スペースなら 閉じる グループには含めないという意味ですか?

(β) 2016/06/13(月) 18:34


早速どうもありがとうございます。
説明が下手でお手数をおかけします。

目的は、グループ化です。グループ化にはこだわります。

次の2文字分以上の空白という表現は間違えで、
先頭が全角スペースで次にスペースがくるセルの行はグループ化対象外にします。
先頭が全角スペース、次は何らかの文字が入るセルの行がグループ化の対象です。

以上、よろしくお願いいたします。
(NAKA) 2016/06/13(月) 18:50


 要件誤解あれば指摘願います。

 Sub Sample()
    Dim r As Range
    Dim a As Range
    Dim wCol As Long

    ActiveSheet.UsedRange   'おまじない
    Cells.ClearOutline

    wCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column + 1

    With Cells(1, wCol).Resize(150)
        .Formula = "=IF(AND(LEFT(B1,1)="" "",MID(B1,2,1)<>"" "",MID(B1,2,1)<>"" ""),TRUE,"""")"
        On Error Resume Next
        Set r = .SpecialCells(xlCellTypeFormulas, xlLogical)
        On Error GoTo 0
        If Not r Is Nothing Then
            For Each a In r.Areas
                a.EntireRow.Group
            Next
        End If
        .ClearContents
    End With

    ActiveSheet.Outline.ShowLevels RowLevels:=1

 End Sub

(β) 2016/06/13(月) 18:58


早速どうもありがとうございました。

完璧です。

やりたかったように動きました。

本当にどうもありがとうございました。

NAKA
(NAKA) 2016/06/13(月) 19:21


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.