
エクセル2007を使用しています。
次の様なシートで、特定列で条件(ブランク)に一致する行を一括して
グループ化するコードを教えてください。
A B C D
1 コード 科目 実績 予算
2 5000 販売収入 100 90
3 5001 受取手数料
4 5002 その他収入
5 【売上高】 100 90
この様な会計の管理帳票で、1シート約800行あり、シートが部門毎に
全部で約100シートが一つのブックに収めてあります。
全部のシートに対して、例えばC列がブランクの行を一括してグループ化
させる様なマクロのコードを教えていただきたいと思います。
(この場合だと3~4行目)
他の部門では使わない補助科目が多く、折りたたまないと使い物に
ならないため、現在は手作業で行っております。
どうぞよろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
方法1)
>一括してグループ化するコードを教えてください。
「飛び飛びの複数の行」を一括して「グループ化」する事は出来ません。
従ってマクロを使っても、例えば次のようにします。
sub macro1()
dim w as worksheet
dim h as range
on error resume next
for each w in worksheets
w.range("A1").clearoutline
for each h in application.intersect(w.usedrange, w.range("C:C")).specialcells(xlcelltypeblanks).areas
h.entirerow.group
next
w.outline.showlevels rowlevels:=1
next
end sub
#補足
既にグループ化処理済みのシートにさらにグループをかけると、レベルが勝手にどんどん深まっていきます。
方法2)
>他の部門では使わない補助科目が多く、折りたたまないと使い物にならない
「グループ化」じゃなく「折りたためればよい」だけなら、単に行を隠す操作を一括で行うことはできます。
sub macro2()
dim w as worksheet
on error resume next
for each w in worksheets
w.range("A1").clearoutline
application.intersect(w.usedrange, w.range("C:C")).specialcells(xlcelltypeblanks).entirerow.hidden = true
next
end sub
#注意
いずれの方法も、ご質問で言ってる「空白」は「ほんとに空っぽのセル」の意味で、数式等でたとえば「""」が計算されているなどではありません。
この回答への補足
keithin様
早々にご回答頂きましてどうもありがとうございました。
今実行させてみましたところ、グループ化、折りたたみ共に
完璧に動作致しました。
大変助かりました。
NO1のtom04様も同様の実行結果でしたが、keithinの
実行結果がより高速に動作しました。
なお、厚かましいとは思いますが、条件を追加してみたいの
ですが、ご教授願えればと思います。
1.グループ化対象の開始行を7行目からとする。
2.ブランクの判定対象列をC列とD列のどちらもブランクで
あった場合のみグループ化する。
もしご覧になりましたら教えて頂ければ大変助かります。
以上、よろしくお願い致します。
keithin様
質問内容に対して完璧に動作致しました。
どうもありがとうございました。
追加で回答補足として質問してしまいました。
恐縮ですがよろしくお願いしたいと思います。
以上、どうもありがとうございました。
No.1
- 回答日時:
こんばんは!
一例です。
標準モジュールに↓のコードをコピー&ペーストしてマクロを実行してみてください。
Sub test()
Dim i, k As Long
For k = 1 To Worksheets.Count
For i = 1 To Worksheets(k).Cells(Rows.Count, 1).End(xlUp).Row
If Worksheets(k).Cells(i, 3) = "" Then
With Worksheets(k).Rows(i)
.Group
.Hidden = True
End With
End If
Next i
Next k
End Sub
こんな感じではどうでしょうか?m(_ _)m
早速ご回答頂きましてどうもありがとうございました。
お返事が遅れてしまい申し訳ありませんでした。
今実行させてみましたところ、依頼通りに動作致しました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) 2つの条件が一致したら一覧へコピーしたい。 左から4番目以降のシート名にコードが入ったシートを全て、 5 2022/09/20 19:41
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA 行のグループ化を外すマクロ
Access(アクセス)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
-
4
エクセルで離れた列を選択してグループ化出来ますか?
Excel(エクセル)
-
5
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
6
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
7
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
8
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
9
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
10
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
11
VBAのリストボックスで、横スクロールバーを表示するには?
Visual Basic(VBA)
-
12
エクセルVBAで配列内に空白データを入れる場合
その他(Microsoft Office)
-
13
【Excel-マクロ】グループとアウトラインの設定をマクロで管理する方法
Excel(エクセル)
-
14
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
15
別シートのマクロを実行する方法
Excel(エクセル)
-
16
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
17
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
18
VBAでcsvファイルもシートもあるのに「インデックスが有効範囲にありません」と表示される2
Visual Basic(VBA)
-
19
特定の文字を条件に行挿入とそこからセルデータを追加するVBAについて
Visual Basic(VBA)
-
20
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
快活CLUBについて 私用で使う書...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
outlookのメールが固まってしま...
-
エクセルで特定のセルの値を別...
-
別シートの年間行事表をカレン...
-
Office 2021 Professional Plus...
-
マクロ自動コピペ 貼り付ける場...
-
Microsoft Formsの「個人情報や...
-
エクセルVBAで1004エラーになり...
-
MSオフィス2013にMS365が上書き...
-
Microsoft Office Homeインスト...
-
Excelで〇のついたものを抽出し...
-
会社のOutlookにてメールを予約...
-
web上にあるエクセルをショート...
-
Microsoft365について
-
エクセルで自動的にQRを表示さ...
-
【マクロ】違うブックのCallス...
-
Officeを開くたびの「再起動メ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
Office2021を別のPCにインスト...
-
大学のレポート A4で1枚レポー...
-
Microsoft365について
-
outlookのメールが固まってしま...
-
英数字のみ全角から半角に変換
-
Office 2021 Professional Plus...
-
エクセルVBAで1004エラーになり...
-
エクセルで特定のセルの値を別...
-
MSオフィス2013にMS365が上書き...
-
Microsoft Formsの「個人情報や...
-
【Excel VBA】PDFを作成して,...
-
別シートの年間行事表をカレン...
-
office2019 のoutlookは2025年1...
-
マクロ自動コピペ 貼り付ける場...
-
表の作成について
-
office365 回復できない。
-
マイクロソフト 一時使用コード...
-
Teams内でショートカットって貼...
-
Microsoft Office Homeインスト...
おすすめ情報