Viige veerg Exceli lehtedesse VBA abil

Lang L: none (table-of-contents):

Anonim

Stsenaarium

Oletame, et teil on Exceli töövihik. Sellel on 3 lehte. Leht sisaldab 5 veergu. Igas veerus on erinevad linna andmed. Igal lehel on sarnased 5 veergu samade linnade erinevate andmetega.

Väljakutse:

Peame looma faili, mis sisaldab iga unikaalse veeru jaoks erinevaid lehti. Iga leht peaks sisaldama vastava veeru andmeid. Lõpuks on meil 5 lehte, igaühes 3 veergu. Mõnes mõttes on see veergude ülekandmine lehtedeks.

Loogika:

Esiteks peame looma töövihiku, mis sisaldab iga veeru jaoks erinevaid lehti. Seda saame teha, vaadates meie algfaili esimese lehe pealkirju.

Järgmisena peame algse lehe iga lehe läbi loopima, et kopeerida iga veerg uue töövihiku vastavatele lehtedele.

VBA kood veergude arvutamiseks arvutustabeliteks.

Vaatame kõigepealt lehtede ülevõtmiseks VBA koodi. Ma selgitan seda allpool.

Sub TransposeColsToSheets () 'muutujad Dim wb Nagu töövihik Dim twb Nagu töövihik Dim lstRw Nagu täisarv Dim lstCl Nagu täisarv Dim cols As Range koos rakendusega .DisplayAlerts = False .ScreenUpdating = False End koos uue faili loomisega Set wb = Workbooks.Add' save faili. Asenda tee sihtkohaga. wb.SaveAs "C: \ Users \ Manish Singh \ Desktop \ Excel Tip \ result.xlsx" Määra twb = ThisWorkbook twb.Sheets (1). Aktiveeri lstCl = Lahtrid (1, Columns.Count) .End (xlToLeft) .Column 'linnade nimede päiste määramine Määra veerud = vahemik (lahtrid (1, 1), lahtrid (1, lstCl))' silmus lehtede loomiseks x = 1 kuni veerud. x Järgmine 'silmus veergude ülekandmiseks lehtedele Iga sh kohta twb. Lehed x = 1 Veergude jaoks. Loendage sh. Aktiveerige lstRw = Lahtrid (Ridade arv, 1). Lõpp (xlUp). Rida vahemik (Lahtrid (1, x), Lahtrid (lstRw, x)). Kopeerige wb.Sheets ("leht" ja x). Aktiveerige lstCl = Lahtrid (1, Veerud. Arv). Lõpp (xlToLeft). Veerg + 1 vahemik (Lahtrid (1, lstCl) ), Lahtrid (1, lstCl)). 

Faili saate alla laadida, et seda kohe kasutada, või kopeerida kood, et seda vastavalt oma vajadustele kohandada.

Kui olete koodi käivitanud, loob see kohe Exceli faili, millel on 5 lehte, kusjuures iga leht sisaldab 3 sama linna andmete veergu.
Transponige veerg lehtedesse

Kuidas see töötab?

Ülaltoodud näidiskoodis oleme eeldanud, et fail algab iga lehe esimesest lahtrist ja iga leht sisaldab sama arvu veerge.

Esimesed koodiridad oleme deklareerinud muutujad, mida me protseduuris vajame. Oleme veerupäised salvestanud muutuja nimega kollased.Oleme loonud ka .xlsx faili nimega tulemus.xlsx.

Järgmisena oleme kasutanud silmust, et luua tulemus.xlsx sama palju lehti kui päiseskollased.

'silmus lehtede loomiseks x = 1 veergudeks 

Järgmisena oleme kasutanud pesastatud silmust. Esimene tsükkel on lehtede kordamine algfailis. Järgmine tsükkel iga veeru kopeerimiseks ja selle igale lehele kleepimiseks tulemustes.xlsx.

Lõpuks salvestame töövihiku tulemuse.xlsx ja sulgeme selle. Ja seda tehakse.

Nii et jah, poisid, nii saate VBA abil iga veeru Excelis uuele lehele kopeerida. Seda küsis meie kasutajaMahmood kommentaaride jaotises. Arvasin, et see väärib artiklit, et see oleks meile kõigile kättesaadav. Siin on see olemas. Loodan, et see oli piisavalt selgitav. Kui teil on endiselt kahtlusi või muid küsimusi, küsige allpool kommentaaride jaotises.

Jagage Exceli leht mitmeks failiks VBA abil | See VBA -kood jagab Exceli lehe baasi unikaalsete väärtuste jaoks määratud veerus. Laadige tööfail alla.

Hoiatusteadete väljalülitamine Microsoft Excel 2016 VBA abil | Jooksva VBA koodi katkestavate hoiatusteadete väljalülitamiseks kasutame rakendusklassi.

Uue töövihiku lisamine ja salvestamine Microsoft Excel 2016 VBA abil | Töövihikute lisamiseks ja salvestamiseks VBA abil kasutame klassi Töövihikud. Töövihikud.Add lisab uue töövihiku lihtsalt, kuid…

Populaarsed artiklid:

50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed aitavad teil Excelis veelgi kiiremini töötada.

Funktsioon VLOOKUP Excelis | See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.

COUNTIF Excelis 2016 | Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.

SUMIF -funktsiooni kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta.