メインコンテンツへスキップ

Excelで値が変更されたときに改ページを挿入するにはどうすればよいですか?

セルの範囲があり、左のスクリーンショットに示すように、列Aの値が変更されたときに、改ページをワークシートに挿入するとします。 もちろん、XNUMXつずつ挿入することもできますが、XNUMXつの列の変更された値に基づいて、改ページを一度に挿入する簡単な方法はありますか?

VBAコードで値が変更されたときに改ページを挿入する

強力な機能で値が変更されたときに改ページを挿入する


VBAコードで値が変更されたときに改ページを挿入する

次のVBAコードは、列データの変更に基づいて以下に改ページを挿入するのに役立ちます。次のようにしてください。

1. 押したまま Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:値が変更されたときに改ページを挿入します。

Sub insertpagebreaks()
'updateby Extendoffice
    Dim I As Long, J As Long
    J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
    For I = J To 2 Step -1
        If Range("A" & I).Value <> Range("A" & I - 1).Value Then
            ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
        End If
    Next I
End Sub

3。 次に、 F5 このコードを実行するためのキー。列Aのデータが変更されると、すべての改ページがシートに挿入されます。スクリーンショットを参照してください。

注:上記のコードでは、 A に基づいて改ページを挿入する列ヘッダーです。必要に応じて変更できます。

強力な機能で値が変更されたときに改ページを挿入する

あなたが持っている場合 Kutools for Excelそのと 違いを区別する この機能を使用すると、値の変更に基づいて、改ページ、空白行、下の境界線、または背景色をすばやく挿入できます。 クリックしてKutoolsfor Excelをダウンロードしてください!

ヒント:これを適用する 違いを区別する 機能、まず、ダウンロードする必要があります Kutools for Excel、次に機能をすばやく簡単に適用します。

インストールした後 Kutools for Excel、次のようにしてください。

1に設定します。 OK をクリックします。 クツール > フォーマット > 違いを区別する、スクリーンショットを参照してください:

2。 飛び出した キー列で違いを区別する ダイアログボックスで、次の操作を実行します。

  • 使用するデータ範囲とキー列を選択します。
  • 選択する 改ページ オプション ボックス。

3。 次に、をクリックします Ok ボタンをクリックすると、値の変更に基づいて改ページが範囲に挿入されます。スクリーンショットを参照してください。

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


より相対的な記事:

  • Excelでセル値が変更されたときに行を強調表示する
  • ワークシートに繰り返し値のリストがあり、次のスクリーンショットに示すように、セル値が変化する列Aに基づいて行を強調表示する必要がある場合。 実際、条件付き書式機能を使用すると、このジョブをすばやく簡単に完了することができます。
  • 別の列で値が変更されたときに数値をインクリメントする
  • 列Aに値のリストがあり、列Aの値が変更されたときに、列Bの数値を1ずつインクリメントするとします。つまり、列Bの数値は、列Aの値が変更されるまでインクリメントされ、その後、左のスクリーンショットに示すように、番号の増分は再び1から始まります。 Excelでは、次の方法でこのジョブを解決できます。
  • 別の列で値が変化したときにセルを合計する
  • Excelワークシートで作業する場合、別の列のデータのグループに基づいてセルを合計する必要がある場合があります。 たとえば、ここでは、列Aのデータが変更されたときに、列Bの注文を合計して、次の結果を取得したいと思います。 Excelでこの問題をどのように解決できますか?
  • Excelで値が変更されたときに空白行を挿入する
  • データの範囲があり、値が変更されたときにデータの間に空白行を挿入して、次のスクリーンショットのようにXNUMXつの列で連続する同じ値を区切ることができるとします。 この記事では、この問題を解決するためのいくつかの秘訣について説明します。
  • Excelでセル値が変更されたときにマクロを実行する
  • 通常、Excelでは、F5キーまたは実行ボタンを押してVBAコードを実行できます。 しかし、セルの値が変更されたときに特定のマクロコードを実行しようとしたことがありますか? この記事では、Excelでこのジョブを処理するための簡単なトリックをいくつか紹介します。

最高のオフィス生産性向上ツール

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour,

Merci pour le code qui fonctionne très bien, seulement je souhaite ajouter un saut de page après et non avant chaque changement de valeur... que faut-il changer dans le code ?

Merci beaucoup !
This comment was minimized by the moderator on the site
Tôi không muốn ngắt trang tại những hàng bị ẩn. Thì phải làm sao?
This comment was minimized by the moderator on the site
Hello, Lê Tuấn
To solve your problem, please apply the below VBA code:
Sub insertpagebreaks()
'updateby Extendoffice
Dim I As Long, J As Long
Dim xRg As Range
On Error Resume Next
J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
Set xRg = Range("A1:A" & J).SpecialCells(xlCellTypeVisible)

For I = J To 2 Step -1
If Range("A" & I).Value <> Range("A" & I - 1).Value Then
If Not Intersect(xRg, Range("A" & I)) Is Nothing Then
ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
End If
End If
Next I
End Sub


Please try, hope it can help you!
This comment was minimized by the moderator on the site
Is it possible to skip the first 20 rows of the sheet? If been trying all kinds of stuff but my knowledge of VBA is to limited to adjuist the code myself.
This comment was minimized by the moderator on the site
Hi, Wilco,
To insert the page break but skip the first 20 rows, you just need to change one parameter as below code:

Sub insertpagebreaks()

'updateby Extendoffice

Dim I As Long, J As Long

J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

For I = J To 21 Step -1

If Range("A" & I).Value <> Range("A" & I - 1).Value Then

ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)

End If

Next I

End Sub

Please try, thank you!
This comment was minimized by the moderator on the site
That is truly brilliant! I followed along on your VB example and it worked! I also am an owner of KUTools so I will play with that too.

Very impressed and thanks!

Mike
This comment was minimized by the moderator on the site
Sorry. EDIT: The first ROW is a column header.
This comment was minimized by the moderator on the site
Hello, Thank you! The thought of VBA makes me sweat. I do have one problem with the results of this code though. The first column is a column header. The code treats this as a change. My first page only shows the column header, but he following pages are fine. FYI: This is for a monthly report and the number of rows for each criteria change monthly. Any Ideas? Thank you in advance.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations