Pridėkite puslapių pertraukų prie surūšiuotų duomenų naudodami „Microsoft Excel“ VBA

Anonim

Šiame straipsnyje mes sukursime makrokomandą, skirtą įterpti puslapio lūžius, atsižvelgiant į tam tikrą sąlygą.

Neapdorotus duomenis sudaro agento duomenys, įskaitant agento vardą, kliento vardą, telefono numerį ir el. Pašto adresą.

Spausdindami norime konkretaus agento duomenų atskiruose puslapiuose. Taigi, kiekvieno agento duomenų pabaigoje norime įterpti puslapio pertrauką.

Loginis paaiškinimas

Sukūrėme makrokomandą „InsertingPagebreak“, kad įterptume puslapio lūžį. Mes palyginame 2 iš eilės einančių langelių reikšmes pirmajame stulpelyje, kad surastume paskutinį langelį, susijusį su konkrečiu agentu, ir įterpiame puslapio pertrauką.

Kodo paaiškinimas

ActiveSheet.ResetAllPageBreaks

Aukščiau pateiktas kodas naudojamas pašalinti į lapą įterptas ankstesnes puslapio pertraukas.

Jei langeliai (LngRow, LngCol). Vertės langeliai (LngRow - 1, LngCol). Vertė Tada

Pirmiau pateiktas kodas naudojamas paeiliui sekančioms pirmo stulpelio ląstelėms palyginti.

ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Ląstelės (LngRow, LngCol)

Aukščiau pateiktas kodas naudojamas įterpti puslapio pertraukas prieš nurodytus langelius.

Sekite toliau pateiktą kodą

Sub InsertingPagebreak () 'Deklaravimo kintamieji Dim LngCol As Long Dim LngRow, MaxRow As Long' Išvalyti esamas puslapio pertraukas ActiveSheet.ResetAllPageBreaks LngCol = 1 'Gaunamas paskutinio langelio eilutės numeris MaxRow = Range ("A11"). SpecialCells (xlCellTypeLastCell). „Looping per visas eilutes, pradedant nuo tryliktosios eilutės For LngRow = 13 To MaxRow“ Vertybių lyginimas dviejų iš eilės eilučių nurodytame stulpelyje If Cells (LngRow, LngCol). Value Cells (LngRow - 1, LngCol). Value then " Įterpiamas puslapio lūžis ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cells (LngRow, LngCol) End If Next LngRow End Sub 

Jei jums patiko šis tinklaraštis, pasidalykite juo su draugais „Facebook“. Be to, mus galite sekti „Twitter“ ir „Facebook“.

Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime pagerinti savo darbą ir padaryti jį geresnį. Rašykite mums el