Microsoft ExcelでVBAを使用してソートされたデータに改ページを追加
この記事では、特定の条件に基づいて改ページを挿入するマクロを作成します。
生データは、エージェント名、クライアント名、電話番号、電子メールIDを含むエージェントごとのデータで構成されます。
印刷中に特定のエージェントのデータを別々のページに表示する必要があります。したがって、各エージェントのデータの最後に改ページを挿入します。
ロジックの説明
改ページを挿入するための「InsertingPagebreak」マクロを作成しました。最初の列の2つの連続するセルの値を比較して、特定のエージェントに関連する最後のセルを見つけ、改ページを挿入します。
コードの説明
ActiveSheet.ResetAllPageBreaks上記のコードは、シートに挿入された前の改ページを削除するために使用されます。
If Cells(LngRow、LngCol).Value <> Cells(LngRow-1、LngCol).Value Then上記のコードは、最初の列内の連続するセルを比較するために使用されます。
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:= Cells(LngRow、LngCol)
上記のコードは、指定されたセルの前に改ページを挿入するために使用されます。
コードについては以下に従ってください
Sub InsertingPagebreak() 'Declaring variables Dim LngCol As Long Dim LngRow, MaxRow As Long 'Clear existing page breaks ActiveSheet.ResetAllPageBreaks LngCol = 1 'Getting row number of last cell MaxRow = Range("A11").SpecialCells(xlCellTypeLastCell).Row 'Looping through all the rows starting from thirteenth row For LngRow = 13 To MaxRow 'Comparing values in cell of two consecutive rows for the specified column If Cells(LngRow, LngCol).Value <> Cells(LngRow - 1, LngCol).Value Then 'Inserting page break ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol) End If Next LngRow End Sub
このブログが気に入ったら、FacebookやFacebookで友達と共有してください。
皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください