Duomenų spausdinimas iš skirtingų lapų naudojant „Microsoft Excel“ VBA

Anonim

Šiame straipsnyje mes sukursime makrokomandą duomenims iš skirtingų lapų spausdinti.

Mes turime du neapdorotus duomenis dviejuose lapuose ir norime pritaikyti šių lapų spausdinimą.

Prieš paleisdami makrokomandą, turime nurodyti reikiamą spausdinimo tipą ir nurodyti pavadinimą, diapazoną arba pasirinktinį vaizdą.

Mes sukūrėme pasirinktinį rodinį „customView1“.

Loginis paaiškinimas

Mes sukūrėme „PrintReports“ makrokomandą, skirtą individualiam spausdinimui. Ši makrokomanda pradės veikti nuo A13 langelio iki paskutinės eilutės. Mes galime nurodyti tris skirtingus spausdinimo tipus.

1 tipo atveju kitame stulpelyje turime nurodyti lapo pavadinimą.

2 tipo atveju turime nurodyti diapazoną, kuriam norime išspausdinti.

3 tipui turime nurodyti pasirinktinio rodinio pavadinimą.

Kodo paaiškinimas

Kiekvienai langelio1 diapazonui („A13“, „ActiveCell.End“ (xlDown))

Aukščiau pateiktas kodas naudojamas kilpai pradėti nuo ląstelės A13 iki paskutinės eilutės.

DefinedName = ActiveCell.Offset (0, 1). Vertė

Aukščiau pateiktas kodas naudojamas norint gauti reikšmę iš kito stulpelio langelio iš aktyvios ląstelės.

Pasirinkite Bylos langelis1.Vertė

1 atvejis

„Pasirinkto lapo pasirinkimas

Skaičiuoklės (apibrėžtas pavadinimas). Pasirinkite

2 atvejis

„Pasirinkto diapazono pasirinkimas

Application.Goto Reference: = Apibrėžtas pavadinimas

3 atvejis

„Pasirinkto pasirinktinio rodinio pasirinkimas

ActiveWorkbook.CustomViews (DefinedName). Rodyti

Pabaiga Pasirinkite

Aukščiau pateiktas teiginys „Select“ naudojamas pasirinktai sričiai pasirinkti pagal vartotojo apibrėžtą tipą.

ActiveWindow.SelectedSheets.PrintOut

Aukščiau pateiktas kodas naudojamas pasirinktai sričiai spausdinti.

Sekite toliau pateiktą kodą

 Parinktis Explicit Sub PrintReports () 'Deklaruoti kintamieji Dim DefinedName As String Dim Cell1 As Range' Ekrano atnaujinimų išjungimas Application.ScreenUpdating = False 'Looping through all the cells for each cell1 in range ("A13", ActiveCell.End (xlDown)) Sheets („Pagrindinis“). Aktyvuokite „Langelio langelio pasirinkimas“ 1. Pasirinkite „Gauti lapo pavadinimo arba apibrėžto diapazono reikšmę DefinedName = ActiveCell.Offset (0, 1) .Vertybė Pasirinkite atvejo langelį1.Vertė 1 atvejis“ Apibrėžto lapo lapų pasirinkimas ). Pasirinkite 2 atvejį 'Nustatyto diapazono programos pasirinkimas. Goto Reference: = DefinedName Case 3' Nustatyto pasirinktinio rodinio pasirinkimas ActiveWorkbook.CustomViews (DefinedName). Rodyti pabaigą Pasirinkite 'Spausdinti reikiamus duomenis ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = „True 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