プロが教える店舗&オフィスのセキュリティ対策術

画像のようなエクセルで、1~11行はタイトル行、12行以降は1000行以上支出データが入ってます。
あまりにも長くなってしまったので、A列の3文字目まで同じで4文字目に”-”が入っている行をグループ化にしたいと思っています。

関数だと「=MID($A12,4,1)="-"」で”TRUE"になる範囲で区切ればいいんだろうなというのは、
なんとなく解ったのですが、なにぶんgroupメソットがよくわかりません。

出来れば実行したら、まず残っているグループを解除して再度グループ設定が出来るようなVBAをよろしくお願いいたします。

「エクセルVBAである”記号”を含んでいる」の質問画像

A 回答 (2件)

こんにちは。

初心者ですが、コメント失礼いたします。
下記サイトを参考(ほぼ丸コピーですが・笑)にしました。
http://www.relief.jp/itnote/archives/excel-vba-d …

---------------------------------------------

Sub 条件に一致した行をグループ化する()
Dim i As Long


'既にグループ化されている箇所があれば解除(5000行目まで)。無ければスルー
On Error Resume Next
Call Rows("12:5000").Ungroup
On Error GoTo 0

'A列(A12から)に”-”が含まれている箇所をグループ化
For i = Range("A12").End(xlDown).Row To 2 Step -1
With Cells(i, "A")

If _
.Value Like "*-*" Then
.EntireRow.Group

End If

End With
Next i

End Sub
    • good
    • 0

>>残っているグループを解除して再度グループ設定



ここら辺のやりたいことがよくわからない。
A列の4文字目に”ー”の入っているデータをまとめたいのであれば、B列にTrueになるような判定式を入力し、最下行までフィルハンドルで埋めた後に、オートフィルタでTrueの箇所だけ表示されるように選択すればいいと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!