Överför kolumn till Excel -ark med VBA

Scenario

Antag att du har en Excel -arbetsbok. Den har 3 ark. Ett blad innehåller 5 kolumner. Varje kolumn har en annan stads data. Varje blad innehåller liknande 5 kolumner med olika data från samma städer.

Utmaning:

Vi måste skapa en fil som innehåller olika ark för varje unik kolumn. Varje blad bör innehålla respektive kolumndata. I slutändan kommer vi att ha 5 ark med tre kolumner vardera. På ett sätt transponerar det kolumner till ark.

Logik:

Först måste vi skapa en arbetsbok som innehåller olika blad för varje kolumn. Vi kan göra detta genom att titta på det första bladets rubriker i vår originalfil.

Därefter måste vi gå igenom varje ark i originalarket för att kopiera varje kolumn till den nya arbetsbokens motsvarande blad.

VBA -kod för att omvandla kolumner till blad.

Låt oss se VBA -koden för att transponera arken först. Jag förklarar det nedan.

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' skapa ny fil Ange wb = Workbooks.Add 'spara filen. Ersätt sökvägen med din destination. wb.SaveAs "C: \ Users \ Manish Singh \ Desktop \ Excel Tip \ result.xlsx" Ange twb = ThisWorkbook twb.Sheets (1) .Aktivera lstCl = Cells (1, Columns.Count) .End (xlToLeft) .Column 'identifiera rubriker för stadsnamn Ange cols = Range (Cells (1, 1), Cells (1, lstCl))' loop för att skapa ark För x = 1 To cols.Count wb.Sheets.Add.Name = "page" & x Nästa 'loop för att transponera kolumner till ark För varje sh I twb.Sheets För x = 1 Till cols.Count sh.Activate lstRw = Cells (Rows.Count, 1) .End (xlUp) .Row Range (Cells (1, x), Celler (lstRw, x)). Kopiera wb.Sheets ("sida" & x) .Aktivera lstCl = Cells (1, Columns.Count) .End (xlToLeft) .Column + 1 Range (Cells (1, lstCl) ), Cells (1, lstCl)). PasteSpecial xlPasteAll Next x Nästa sh 'spara och stänga resultatarboken wb.Save wb.Close With Application .DisplayAlerts = True .ScreenUpdating = True End With End Sub 

Du kan ladda ner filen för att använda den direkt eller kopiera koden för att anpassa den efter dina behov.

När du har kört koden kommer den omedelbart att skapa en excel -fil som kommer att ha 5 ark, där varje ark innehåller tre kolumner med samma stads data.
Överför kolumn till ark

Hur fungerar det?

I ovanstående exempelkod har vi antagit att filen startar från den första cellen i varje ark och varje blad innehåller samma antal kolumner.

I de första kodraderna har vi deklarerat de variabler som vi kommer att behöva i proceduren. Vi har sparat kolumnrubrikerna i en variabel med namnet cols.Vi har också skapat en .xlsx -fil med namnet resultat. xlsx.

Därefter har vi använt en loop för att skapa samma antal ark i result.xlsx som i rubrik icols.

'loop för att skapa ark För x = 1 Till cols.Count wb.Sheets.Add.Name = "sida" & x Nästa 

Därefter har vi använt en kapslad slinga. Den första slingan är att iterera ark i den ursprungliga filen. Nästa loop för att kopiera varje kolumn och klistra in den i varje ark i resultaten.xlsx -filen.

I slutändan sparar vi arbetsboksresultatet. Xlsx och stänger det. Och det är gjort.

Så ja killar, så här kan du kopiera varje kolumn till ett nytt ark i Excel med VBA. Detta efterfrågades av vår användareMahmood i kommentarsfältet. Jag tyckte att den förtjänade en artikel så att den kan vara tillgänglig för oss alla. Här har du det. Jag hoppas att det var tillräckligt förklarande. Om du fortfarande har några tvivel eller någon annan fråga, fråga i kommentarfältet nedan.

Dela Excel -blad i flera filer baserat på kolumn med VBA | Den här VBA -koden delar Excel -basen på unika värden i en specifik kolumn. Ladda ner arbetsfilen.

Stäng av varningsmeddelanden med VBA i Microsoft Excel 2016 | För att stänga av varningsmeddelanden som avbryter den körande VBA -koden använder vi applikationsklassen.

Lägg till och spara ny arbetsbok med VBA i Microsoft Excel 2016 | För att lägga till och spara arbetsböcker med VBA använder vi Workbooks -klassen. Workbooks.Add lägger till ny arbetsbok enkelt, dock …

Populära artiklar:

50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.

VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.

COUNTIF i Excel 2016 | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifikt värde. Countif -funktionen är avgörande för att förbereda din instrumentpanel.

Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave