Note: The other languages of the website are Google-translated. Back to English

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でこのジョブを処理するための簡単なトリックをいくつか紹介します。

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

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (8)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちはありがとう! VBAの考えは私を汗ばませます。 ただし、このコードの結果にはXNUMXつの問題があります。 最初の列は列ヘッダーです。 コードはこれを変更として扱います。 私の最初のページには列ヘッダーしか表示されていませんが、次のページは問題ありません。 参考:これは月次レポート用であり、各基準の行数は月ごとに変更されます。 何か案は? 前もって感謝します。
このコメントは、サイトのモデレーターによって最小化されました
ごめん。 編集:最初の行は列ヘッダーです。
このコメントは、サイトのモデレーターによって最小化されました
それは本当に素晴らしいです! 私はあなたのVBの例に従いました、そしてそれはうまくいきました! 私もKUToolsのオーナーなので、一緒に遊んでみます。

とても感動し、ありがとう!

マイク
このコメントは、サイトのモデレーターによって最小化されました
シートの最初の20行をスキップすることは可能ですか? あらゆる種類のものを試していても、VBAに関する私の知識は、コードを自分で調整することに限定されています。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ウィルコ、
ページ分割を挿入して最初の20行をスキップするには、次のコードのようにXNUMXつのパラメーターを変更する必要があります。

サブinsertpagebreaks()

'updateby Extendoffice

Dim I As Long、J As Long

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

I=Jの場合21ステップ-1

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

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

終了する場合

次の私

End Subの

やってみてください、ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
Tôi không muốn ngắt trang tại những hàng bị ẩn. ティ・ファイ・ラム・サオ?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、レ・トゥエン
問題を解決するには、以下の VBA コードを適用してください。
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


ぜひお試しください。お役に立てば幸いです。
このコメントは、サイトのモデレーターによって最小化されました
ボンジュール、

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 ?

どうもありがとうございました!
ここにはまだコメントが投稿されていません

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護