Lisää sivunvaihtoja lajiteltuihin tietoihin Microsoft Excelin VBA: n avulla

Anonim

Tässä artikkelissa luomme makron sivunvaihtojen lisäämiseksi tietyn ehdon perusteella.

Raakatiedot koostuvat agenttitiedoista, jotka sisältävät edustajan nimen, asiakkaan nimen, puhelinnumeron ja sähköpostitunnuksen.

Haluamme tietyn agentin tiedot eri sivuille tulostuksen aikana. Haluamme siis lisätä sivunvaihdon jokaisen agentin tietojen loppuun.

Looginen selitys

Olemme luoneet "InsertingPagebreak" -makron sivunvaihdon lisäämiseksi. Vertaamme kahden peräkkäisen solun arvoja ensimmäisessä sarakkeessa löytääksemme viimeisen tiettyyn agenttiin liittyvän solun ja lisätäksesi sivunvaihdon.

Koodin selitys

ActiveSheet.ResetAllPageBreaks

Yllä olevaa koodia käytetään poistamaan arkkiin lisätyt aiemmat sivunvaihdot.

Jos solut (LngRow, LngCol) .Arvosolut (LngRow - 1, LngCol).

Yllä olevaa koodia käytetään ensimmäisen sarakkeen peräkkäisten solujen vertaamiseen.

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

Yllä olevaa koodia käytetään sivunvaihtojen lisäämiseen määritettyjen solujen eteen.

Seuraa koodia alla

Sub InsertingPagebreak () 'Declaring muuttujat Dim LngCol as Long Dim LngRow, MaxRow as Long' Tyhjennä olemassa olevat sivunvaihdot ActiveSheet.ResetAllPageBreaks LngCol = 1 'Viimeisen solun rivinumeron saaminen MaxRow = Range ("A11"). SpecialCells (xlCellTypeLastCell). 'Silmukkaa kaikki rivit, jotka alkavat kolmastoista rivistä LngRow = 13 - MaxRow' Vertaa arvoja kahden peräkkäisen rivin solussa määritetylle sarakkeelle If Cells (LngRow, LngCol). Value Cells (LngRow - 1, LngCol) .Arvo sitten ' Lisätään sivunvaihto ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Solut (LngRow, LngCol) End if Next LngRow End Sub 

Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.

Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse