Přidejte konce stránek k tříděným datům pomocí VBA v Microsoft Excelu

Anonim

V tomto článku vytvoříme makro pro vložení zalomení stránky na základě určité podmínky.

Nezpracovaná data obsahují data agenta, která zahrnují jméno agenta, jméno klienta, telefonní číslo a e -mail.

Při tisku chceme data konkrétního agenta na samostatných stránkách. Chceme tedy vložit konec stránky na konec dat každého agenta.

Logické vysvětlení

Vytvořili jsme makro „InsertingPagebreak“ pro vložení konce stránky. Provedeme srovnání hodnot 2 po sobě jdoucích buněk v prvním sloupci, abychom našli poslední buňku související s konkrétním agentem a vložili konec stránky.

Vysvětlení kódu

ActiveSheet.ResetAllPageBreaks

Výše uvedený kód slouží k odebrání všech předchozích zlomů stránek vložených do listu.

Pokud buňky (LngRow, LngCol). Hodnota buněk (LngRow - 1, LngCol). Hodnota pak

Výše uvedený kód se používá k porovnání po sobě jdoucích buněk v prvním sloupci.

ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cells (LngRow, LngCol)

Výše uvedený kód se používá k vložení zalomení stránky před zadané buňky.

Pro kód prosím postupujte níže

Sub InsertingPagebreak () 'Deklarování proměnných Dim LngCol jako Long Dim LngRow, MaxRow As Long' Vymazat stávající konce stránek ActiveSheet.ResetAllPageBreaks LngCol = 1 'Získání čísla řádku poslední buňky MaxRow = Rozsah („A11“). SpecialCells (xlCellTypeLastCell). 'Smyčka skrz všechny řádky začínající od třináctého řádku pro LngRow = 13 až MaxRow' Porovnávání hodnot v buňce dvou po sobě jdoucích řádků pro zadaný sloupec If Cells (LngRow, LngCol). Hodnota buněk (LngRow - 1, LngCol). Hodnota pak ' Vkládání konce stránky ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cells (LngRow, LngCol) End If Next LngRow End Sub 

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail