[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『改ページの自動調整』(みやび)
例えば以下のようなデータがあるとします。
りんご 個数
青森 10
岩手 9
秋田 5
・
・
・
みかん
青森 13
岩手 10
秋田 7
・
・
・
このように多種品目ごとに各都道府県が記載されているデータがあり、
自動で改ページを設定すると
りんご 個数
青森 10
岩手 9
秋田 5
・
・
・
みかん
青森 13
岩手 10
の様になります。
この改ページを品目の位置まで毎回手作業で変更しているのですが、
出来ればマクロで、例えば個数が入力されていない直近のセルの上の行で
改ページする。
のような動作をさせたいです。
宜しくお願い致します。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
自分で作る意志はありますか? それともまるっと作ってもらいたいですか?
あなたは後輩に仕事のやり方を質問されたら、全部やってあげるタイプですか? (´・ω・`) 2023/02/01(水) 13:48:48
Sub Sample() Dim sh As Worksheet Dim HPB_Range As Range Dim prvRow As Long Dim i As Long
prvRow = 1 '1ページ目の先頭行を登録 Set sh = ActiveSheet sh.ResetAllPageBreaks '先にすでにある改ページを全部消しておく 'アクティブウィンドウよりも下側の改ページを指定するとエラーになるので先に最下部をアクティブにする Intersect(sh.Columns(1), sh.UsedRange.SpecialCells(xlCellTypeLastCell).EntireRow).Activate Do i = i + 1 If i > sh.HPageBreaks.Count Then Exit Do With sh.HPageBreaks(i).Location '先頭行と前ページ最終行がともに空白でない場合で 'その一かたまりのセルの先頭行が前のページの先頭行よりも大きい(下行にある)場合に '(一かたまりがページ最大行より大きい場合に改ページを挿入しない) If .Value <> "" And .Offset(-1).Value <> "" And .End(xlUp).Row > prvRow Then sh.HPageBreaks.Add .End(xlUp) '改ページを挿入 prvRow = .End(xlUp).Row '改ページ挿入行を変数に入れる Else prvRow = .Row '改ページ挿入しない場合はページ先頭行を変数に入れる End If End With Set HPB_Range = Nothing Loop sh.Range("A1").Activate End Sub (お邪魔します) 2023/02/01(水) 16:11:39
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.