Lisage sorteeritud andmetele lehevahed, kasutades Microsoft Excelis VBA -d

Anonim

Selles artiklis loome teatud tingimuste põhjal lehekatkestuste lisamiseks makro.

Toorandmed koosnevad agendi andmetest, mis sisaldavad agendi nime, kliendi nime, telefoninumbrit ja e -posti aadressi.

Soovime konkreetse agendi andmeid printimise ajal eraldi lehtedele. Niisiis, me tahame iga agendi andmete lõppu sisestada lehevahe.

Loogiline seletus

Lehevahetuse lisamiseks oleme loonud makro “InsertingPagebreak”. Võrdleme esimese veeru kahe järjestikuse lahtri väärtusi, et leida viimane konkreetse agendiga seotud lahter ja sisestada lehevahe.

Koodi selgitus

ActiveSheet.ResetAllPageBreaks

Ülaltoodud koodi kasutatakse lehele lisatud eelmiste lehekatkestuste eemaldamiseks.

Kui lahtrid (LngRow, LngCol) .Väärtus Lahtrid (LngRow - 1, LngCol). Väärtus Siis

Ülaltoodud koodi kasutatakse esimese veeru järjestikuste lahtrite võrdlemiseks.

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

Ülaltoodud koodi kasutatakse lehtede katkestuste sisestamiseks määratud lahtrite ette.

Palun järgige koodi allpool

Sub InsertingPagebreak () 'Muutujate deklareerimine Dim LngCol As Long Dim LngRow, MaxRow As Long' Kustuta olemasolevad lehepausid ActiveSheet.ResetAllPageBreaks LngCol = 1 'Viimase lahtri rea numbri hankimine MaxRow = Range ("A11"). SpecialCells (xlCellTypeLastCell). "Silmustamine läbi kõigi ridade, mis algavad kolmeteistkümnendast reast For LngRow = 13 To MaxRow" Väärtuste võrdlemine kahe järjestikuse rea lahtris määratud veeru korral If Cells (LngRow, LngCol). Value Cells (LngRow - 1, LngCol). Väärtus siis " Lehevahetuse lisamine ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Lahtrid (LngRow, LngCol) End If Next LngRow End Sub 

Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile