Overfør kolonne til Excel -ark ved hjelp av VBA

Innholdsfortegnelse:

Anonim

Scenario

Anta at du har en Excel -arbeidsbok. Den har 3 ark. Et ark inneholder 5 kolonner. Hver kolonne har en annen bys data. Hvert ark inneholder lignende 5 kolonner med forskjellige data fra de samme byene.

Utfordring:

Vi må lage en fil som inneholder forskjellige ark for hver unike kolonne. Hvert ark bør inneholde data fra den respektive kolonnen. Til slutt vil vi ha 5 ark med 3 kolonner hver. På en måte transponerer det kolonner til ark.

Logikk:

Først må vi lage en arbeidsbok som inneholder forskjellige ark for hver kolonne. Vi kan gjøre dette ved å se på det første arks overskrifter i vår originale fil.

Deretter må vi gå gjennom hvert ark i det originale arket for å kopiere hver kolonne til den nye arbeidsbokens tilsvarende ark.

VBA -kode for å overføre kolonner til ark.

La oss se VBA -koden for å transponere arkene først. Jeg forklarer det nedenfor.

Sub TransposeColsToSheets () 'variabler Dim wb As Workbook Dim twb As Workbook Dim lstRw As Integer Dim lstCl As Integer Dim cols As Range With Application .DisplayAlerts = False .ScreenUpdating = False End With' opprette ny fil Sett wb = Workbooks.Add 'lagring filen. Erstatt banen med destinasjonen din. wb.SaveAs "C: \ Users \ Manish Singh \ Desktop \ Excel Tip \ result.xlsx" Sett twb = ThisWorkbook twb.Sheets (1) .Aktiver lstCl = Cells (1, Columns.Count) .End (xlToLeft) .Column 'identfying headers for city names Set cols = Range (Cells (1, 1), Cells (1, lstCl))' loop to create sheets For x = 1 To cols.Count wb.Sheets.Add.Name = "page" & x Neste sløyfe for å transponere kolonner til ark For hver sh I twb. Sheets For x = 1 Til cols. Tell sh.Activate lstRw = Cells (Rows.Count, 1) .End (xlUp) .Row Range (Cells (1, x), Celler (lstRw, x)). Kopier wb.Sheets ("side" & x) .Aktiver lstCl = Celler (1, Columns.Count) .End (xlToLeft) .Column + 1 Range (Cells (1, lstCl) ), Celler (1, lstCl)). PasteSpecial xlPasteAll Next x Neste sh 'lagrer og lukker resultatboken wb.Save wb.Close With Application .DisplayAlerts = True .ScreenUpdating = True End With End Sub 

Du kan laste ned filen for å bruke den umiddelbart eller kopiere koden for å tilpasse den etter behov.

Når du kjører koden, vil den umiddelbart opprette en excel -fil som vil ha 5 ark, med hvert ark inneholdende 3 kolonner med samme bydata.
Overfør kolonne til ark

Hvordan virker det?

I eksempelkoden ovenfor har vi antatt at filen starter fra den første cellen i hvert ark, og hvert ark inneholder samme antall kolonner.

I de første kodelinjene har vi deklarert variablene vi trenger i prosedyren. Vi har lagret kolonneoverskriftene i en variabel som heter cols.Vi har også opprettet en .xlsx -fil, navngitt resultat. xlsx.

Deretter har vi brukt en løkke for å lage samme antall ark i result.xlsx som i topptekst icols.

'loop for å lage ark For x = 1 Til cols.Count wb.Sheets.Add.Name = "side" & x Neste 

Deretter har vi brukt en nestet sløyfe. Den første løkken er å iterere ark i den opprinnelige filen. Neste sløyfe for å kopiere hver kolonne og lime den inn i hvert ark i results.xlsx -filen.

Til slutt lagrer vi arbeidsbokresultatet. Xlsx og lukker det. Og det er gjort.

Så ja gutta, slik kan du kopiere hver kolonne til et nytt ark i excel ved hjelp av VBA. Dette ble spurt av brukeren vårMahmood i kommentarfeltet. Jeg syntes den fortjente en artikkel slik at den kan være tilgjengelig for oss alle. Her har du det. Jeg håper det var forklarende nok. Hvis du fortsatt er i tvil eller andre spørsmål, kan du spørre i kommentarfeltet nedenfor.

Del Excel -ark i flere filer basert på kolonne ved hjelp av VBA | Denne VBA -koden deler excel -arkbase på unike verdier i en spesifisert kolonne. Last ned arbeidsfilen.

Slå av advarselsmeldinger ved hjelp av VBA i Microsoft Excel 2016 | For å slå av advarsler som avbryter den kjørende VBA -koden, bruker vi applikasjonsklassen.

Legg til og lagre ny arbeidsbok ved hjelp av VBA i Microsoft Excel 2016 | For å legge til og lagre arbeidsbøker ved hjelp av VBA bruker vi Workbooks -klassen. Workbooks.Add legger til ny arbeidsbok enkelt, men …

Populære artikler:

50 Excel -snarveier for å øke produktiviteten | Bli raskere på oppgaven din. Disse 50 snarveiene får deg til å jobbe enda raskere med Excel.

VLOOKUP -funksjonen i Excel | Dette er en av de mest brukte og populære funksjonene til excel som brukes til å slå opp verdi fra forskjellige områder og ark.

COUNTIF i Excel 2016 | Tell verdier med betingelser ved hjelp av denne fantastiske funksjonen. Du trenger ikke filtrere dataene dine for å telle spesifikk verdi. Countif -funksjonen er avgjørende for å forberede dashbordet.

Slik bruker du SUMIF -funksjon i Excel | Dette er en annen viktig funksjon på dashbordet. Dette hjelper deg med å oppsummere verdier på spesifikke forhold.