
No.2ベストアンサー
- 回答日時:
こんばんは。
以下の場合は、このようになります。
------------
○ .Cells(i + 1, 1) 1行足されている
------------改ページ
しかし、そうではなく、以下のようになるなら、このようにします。
------------
------------改ページ
○ .Cells(i - 1, 1) 1行減らす
印刷範囲を最初に設定してから、マクロを行ってください。
出来上がったら、改ページプレビューで確認してください。
標準モジュールに設定してください。
'------------------------
Sub PageBreak_enter()
Dim Rng As Range
Dim i As Long
'区切れの文字列
Const CHKSTRING As String = "○"
With ActiveSheet
If .PageSetup.PrintArea = "" Then
MsgBox "印刷範囲を設定してください"
Exit Sub
End If
.ResetAllPageBreaks
' ↑(何回も行わないなら要りません)
Application.ScreenUpdating = False
Set Rng = .Range(.PageSetup.PrintArea)
For i = 1 To Rng.Rows.Count
If .Cells(i, 1).Value Like CHKSTRING Then
'ここで、改ページを調整可
.Cells(i + 1, 1).PageBreak = xlPageBreakManual
End If
Next
End With
Application.ScreenUpdating = True
Set Rng = Nothing
End Sub
No.4
- 回答日時:
改ページは
A(1)手動
(2)位置を知らせる仕組み(#3回答?)
(3)ボタン化(VBA)
B(1)決まった行数で改ページ
(2)ある列のデータが変化したらその直前で改ページ(#2回答
(3)決まった語句や数が出てきたら改ページ
(4)改ページを入れないでプログラムでRange(○).PrintOutの○を調節
などが考えられる。
この質問ではB(3)かなと思う。
ーーー
A列 B列
得意先A1
2
3
4
5
得意先B2
3
4
ff
のようなデータの場合
標準モジュールに
Sub test01()
d = Range("B65536").End(xlUp).Row
For i = 2 To d
If InStr(Cells(i, "A"), "得意先") > 0 Then
Cells(i, 1).PageBreak = xlPageBreakManual
End If
Next i
Cells.PrintOut
End Sub
で良いようです。
ーー
A(3)は
シートにボタンを貼り付け、そのClickイベントに
Private Sub CommandButton1_Click()
ActiveCell.PageBreak = xlPageBreakManual
End Sub
No.3
- 回答日時:
わたしからは手動で行う場合にちょっと楽になる方法を。
A列にオートフィルタをかけて、○を抽出します。
一番最初の○のある行を行ごと選択して、
[挿入]-[改ページ]
を行います。
以下、
下矢印=>[F4]=>下矢印=>[F4]...
と繰り返しキー入力をすればOK。
#[F4]キーは[前の動作を繰り返す]操作なので、これは改ページ挿入=>下移動の繰り返しになります。
No.1
- 回答日時:
以下のマクロはB列の値が変わる行で改頁を挿入するマクロです。
もしカテゴリが大分類、小分類などに分かれているならもう少し判断を加える必要があるので補足するか、ご自身で改造してみてください。
(1行目がタイトル、2行目以降がデータの想定です)
ご存じと思いますが、以下のマクロをALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択して実行します。MacroBKが改行挿入、macroBKDELが改行削除です
Sub MacroBK()
Dim PB As HPageBreak
Dim idx As Long
Const tCol As String = "B" '改頁判断する列
With ActiveSheet
For idx = 3 To .Cells(65536, tCol).End(xlUp).Row
If .Cells(idx, tCol) <> .Cells(idx - 1, tCol) Then
ActiveSheet.HPageBreaks.Add Before:=.Cells(idx, tCol)
End If
Next idx
End With
End Sub
Sub MacroBKDEL()
Dim idx, PB As Integer
PB = ActiveSheet.HPageBreaks.Count
For idx = 1 To PB
ActiveSheet.HPageBreaks(1).Delete
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Visual Basic(VBA) VBAの改ページ設定について 7 2022/06/20 00:57
- ノートパソコン ページ番号の入れ方について 3 2023/02/16 17:11
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Visual Basic(VBA) 改ページ 2 2023/03/10 21:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/01/06 08:39
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで特定の文字のところで自動的に改ページしたい
Excel(エクセル)
-
EXCEL 改ページ自動挿入方法を教えてください。
Excel(エクセル)
-
特定文字のセル(エクセルデータ)の所で改ページ印刷する仕組みは可能?
Excel(エクセル)
-
-
4
エクセルで複数行に一度に改ページを挿入する方法
Excel(エクセル)
-
5
Excelで・・・1ページあたりの行数を指定できますか?
Excel(エクセル)
-
6
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
7
エクセルの改ページを行ごとに自動挿入するには?
Excel(エクセル)
-
8
VBAでデータが変わった切れ目で改ページしたい
Excel(エクセル)
-
9
Excelについて。特定の範囲内で自動的に改ページされることを禁止する
その他(Microsoft Office)
-
10
エクセルで、ヘッダーに特定セル内容を指定して印刷したい
Excel(エクセル)
-
11
Excelで50行毎に改ページを入れたい
その他(Microsoft Office)
-
12
word VBA 改ページの繰り返しについて
Visual Basic(VBA)
-
13
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
14
エクセルで改ページを連続挿入方法
Excel(エクセル)
-
15
エクセルで、改ページした後、データに連番を振りたい
その他(Microsoft Office)
-
16
VBAで特定の文字が入力されたセルを選択
Excel(エクセル)
-
17
Wordで一括して改ページする方法
Word(ワード)
-
18
EXCELの文字列操作で文字数不足の分をスペースで補う方法
Excel(エクセル)
-
19
EXCEL、マクロ-改ページ行番号の取得方法を教えてください
Visual Basic(VBA)
-
20
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのグレーの部分を戻したい
-
EXCEL改ページプレビューのペー...
-
YMM4 で MOV ファイルが読み込...
-
Thunderbirdで印刷およびページ...
-
ページが増える
-
エクセルの縦の幅だけ拡大したい。
-
EXCELで1行の内容を1枚の紙に印...
-
エクセルのマクロで印刷プレビ...
-
【Excel】エクセルの1シートが...
-
ExcelVBA 改ページの横破線を消...
-
Excelで縦を拡大、横を縮小する...
-
Excel ~プリンターがない時で...
-
Excelの「改ページプレビュー」...
-
Excel 複数印刷範囲設定と、印...
-
エクセルでA4 2枚をA3 1枚で印...
-
Excelの改ページ印刷についての...
-
エクセルで点線を引き、印刷す...
-
エクセルのA3横一枚のデータをA...
-
エクセルで印刷範囲以外を灰色...
-
Excelで全ての行単位で改...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL改ページプレビューのペー...
-
Excelのグレーの部分を戻したい
-
エクセルの縦の幅だけ拡大したい。
-
YMM4 で MOV ファイルが読み込...
-
ページが増える
-
エクセルでA4 2枚をA3 1枚で印...
-
Excelの改ページ印刷についての...
-
エクセルで点線を引き、印刷す...
-
エクセルのマクロで印刷プレビ...
-
EXCELで1行の内容を1枚の紙に印...
-
Excelで特定の文字・記号のとこ...
-
エクセルのA3横一枚のデータをA...
-
エクセルで印刷、0.5が1になる。
-
ExcelVBA 改ページの横破線を消...
-
エクセルで、大きく灰色に書か...
-
改ページの2ページ目の作り方
-
Excelで縦を拡大、横を縮小する...
-
【Excel】エクセルの1シートが...
-
エクセル上に貼り付けた画像が...
-
Thunderbirdで印刷およびページ...
おすすめ情報