Perkelkite stulpelį į „Excel“ lapus naudodami VBA

Scenarijus

Tarkime, kad turite „Excel“ darbaknygę. Jame yra 3 lapai. Lapą sudaro 5 stulpeliai. Kiekviename stulpelyje yra skirtingi miesto duomenys. Kiekviename lape yra panašūs 5 stulpeliai su skirtingais tų pačių miestų duomenimis.

Iššūkis:

Kiekvienam unikaliam stulpeliui turime sukurti failą, kuriame yra skirtingi lapai. Kiekviename lape turėtų būti atitinkamo stulpelio duomenys. Galų gale turėsime 5 lapus su 3 stulpeliais. Tam tikra prasme tai perkelia stulpelius į lapus.

Logika:

Pirma, turime sukurti darbaknygę, kurioje būtų skirtingi kiekvieno stulpelio lapai. Tai galime padaryti pažvelgę ​​į pirmojo lapo antraštes mūsų originalioje byloje.

Toliau turime pereiti per kiekvieną originalaus lapo lapą, kad nukopijuotume kiekvieną stulpelį į atitinkamus naujos darbo knygos lapus.

VBA kodas, skirtas stulpeliams perkelti į skaičiuokles.

Pirmiausia pažiūrėkime VBA kodą, kad perkeltume lapus. Aš tai paaiškinu žemiau.

Sub TransposeColsToSheets () 'kintamieji Dim wb Kaip darbaknygę Dim twb Kaip darbaknygę Dim lstRw Kaip sveiką skaičių Dim lstCl Kaip sveiką skaičių Dim cols As Range With Application .DisplayAlerts = False .ScreenUpdating = False End su "kuriant naują failą Set wb = Workbooks.Add" taupymas failas. Pakeiskite kelią savo tikslu. wb.SaveAs "C: \ Users \ Manish Singh \ Desktop \ Excel Tip \ result.xlsx" Nustatykite twb = ThisWorkbook twb.Sheets (1) .Activate lstCl = Cells (1, Columns.Count) .End (xlToLeft) .Column „miestų pavadinimų identifikavimo antraštės Nustatykite cols = Range (Cells (1, 1), Cells (1, lstCl))“ kilpą, kad sukurtumėte lapus x = 1 To cols.Count wb.Sheets.Add.Name = "page" & x Kitas 'ciklas, skirtas stulpelių perkėlimui į lakštus Kiekvienam sh In twb.Sheets For x = 1 To cols.Skaičiuokite sh.Activate lstRw = Ląstelės (Rows.Count, 1). End (xlUp). Eilučių diapazonas (Ląstelės (1, x), langeliai (lstRw, x)). Nukopijuokite „wb.Sheets“ („puslapis“ ir x). Aktyvinkite lstCl = Ląstelės (1, Stulpeliai. Skaičius). Pabaiga (xlToLeft). Stulpelis + 1 diapazonas (Ląstelės (1, lstCl) ), Ląstelės (1, lstCl)). PasteSpecial xlPasteAll Next x Next sh 'išsaugoti ir uždaryti rezultato darbaknygę wb.Save wb.Cloose With Application .DisplayAlerts = True .ScreenUpdating = Tikroji pabaiga su pabaiga 

Galite atsisiųsti failą, kad galėtumėte jį naudoti iškart, arba nukopijuokite kodą, kad pritaikytumėte jį pagal savo poreikius.

Kai paleisite kodą, jis iškart sukurs „Excel“ failą, kurį sudarys 5 lapai, kiekviename lape bus 3 to paties miesto duomenų stulpeliai.
Perkelti stulpelį į lapus

Kaip tai veikia?

Pirmiau pateiktame kodo pavyzdyje darėme prielaidą, kad failas prasideda nuo kiekvieno lapo pirmo langelio ir kiekviename lape yra vienodas stulpelių skaičius.

Pirmas kelias kodo eilutes paskelbėme kintamuosius, kurių mums reikės procedūros metu. Stulpelių antraštes išsaugojome kintamajame pavadinimu cols.Mes taip pat sukūrėme .xlsx failą pavadinimu rezultatas.xlsx.

Tada mes panaudojome kilpą, kad sukurtume tą patį lapų skaičių rezultate. Xlsx, kaip ir antraštėjecols.

'ciklas, skirtas lapams kurti 

Toliau mes panaudojome įdėtą kilpą. Pirmasis ciklas yra pakartoti pradinio failo lapus. Kitas ciklas, skirtas nukopijuoti kiekvieną stulpelį ir įklijuoti jį į kiekvieną rezultatų.xlsx failo lapą.

Galų gale išsaugome darbo knygos rezultatą.xlsx ir uždarome. Ir tai daroma.

Taigi taip, vaikinai, taip galite nukopijuoti kiekvieną stulpelį į naują „Excel“ lapą naudodami VBA. To paklausė mūsų vartotojasMahmoodas komentarų skiltyje. Maniau, kad jis nusipelnė straipsnio, kad jis būtų prieinamas mums visiems. Štai tu jį turi. Tikiuosi, kad tai buvo pakankamai aiškinama. Jei vis dar turite kokių nors abejonių ar kitų klausimų, paklauskite žemiau esančiame komentarų skyriuje.

Padalinkite „Excel“ lapą į kelis failus pagal stulpelį naudodami VBA | Šis VBA kodas padalija „Excel“ lapą pagal unikalias reikšmes nurodytame stulpelyje. Atsisiųskite darbo failą.

Išjunkite įspėjamuosius pranešimus naudodami VBA programoje „Microsoft Excel 2016“ | Norėdami išjungti įspėjamuosius pranešimus, kurie nutraukia veikiantį VBA kodą, naudojame taikymo klasę.

Pridėkite ir išsaugokite naują darbaknygę naudodami „Microsoft Excel 2016“ VBA | Norėdami pridėti ir išsaugoti darbaknyges naudodami VBA, naudojame darbo knygų klasę. Workbooks.Add lengvai prideda naują darbaknygę, tačiau…

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų leis dar greičiau dirbti naudojant „Excel“.

Funkcija VLOOKUP „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint skaičiuoti konkrečią vertę, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti SUMIF funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave