Transponirajte stupac u Excel tablice pomoću VBA

Sadržaj:

Anonim

Scenarij

Pretpostavimo da imate Excel radnu knjižicu. Ima 3 lista. List sadrži 5 stupaca. Svaki stupac ima različite podatke o gradu. Svaki list sadrži sličnih 5 stupaca s različitim podacima o istim gradovima.

Izazov:

Moramo stvoriti datoteku koja sadrži različite listove za svaki jedinstveni stupac. Svaki list trebao bi sadržavati podatke o svom stupcu. Na kraju ćemo imati 5 listova sa po 3 stupca. Na neki način transponira stupce u listove.

Logika:

Prvo moramo stvoriti radnu knjigu koja sadrži različite listove za svaki stupac. To možemo učiniti gledajući naslove prvog lista naše izvorne datoteke.

Zatim moramo proći kroz svaki list izvornog lista da bismo kopirali svaki stupac na odgovarajuće listove nove radne knjige.

VBA kôd za prenošenje stupaca u listove.

Pogledajmo VBA kod za prvo transponiranje listova. Objašnjavam to u nastavku.

Sub TransposeColsToSheets () 'varijable Dim wb Kao radna knjiga Dim twb Kao radna knjiga Dim lstRw Kao cijeli broj Dim lstCl Kao cijeli broj Dim cols As Range With Application .DisplayAlerts = False .ScreenUpdating = False End Uz' stvaranje nove datoteke Set wb = Workbooks.Add 'saving Datoteka. Zamijenite stazu svojim odredištem. wb.SaveAs "C: \ Users \ Manish Singh \ Desktop \ Excel Savjet \ result.xlsx" Postavite twb = ThisWorkbook twb.Sheets (1). Aktivirajte lstCl = Cells (1, Columns.Count) .End (xlToLeft) .Column petlja 'identificiranje zaglavlja za nazive gradova Postavi cols = Raspon (ćelije (1, 1), ćelije (1, lstCl))' za stvaranje listova Za x = 1 Za cols.Count wb.Sheets.Add.Name = "page" & x Next 'petlja za transponiranje stupaca na listove Za svaki sh In twb.Sheets For x = 1 To cols.Count sh.Activate lstRw = Cells (Rows.Count, 1) .End (xlUp) .Row Range (Cells (1, x), Ćelije (lstRw, x)). Kopirajte wb. tablice ("stranica" & x). Aktivirajte lstCl = ćelije (1, stupci.broj). Kraj (xlToLeft). stupac + 1 raspon (ćelije (1, lstCl ), Cells (1, lstCl)). PasteSpecial xlPasteAll Next x Next sh 'spremanje i zatvaranje radne knjige rezultata wb.Save wb.Close With Application .DisplayAlerts = True .ScreenUpdating = True End With End Sub 

Možete preuzeti datoteku belove kako biste je odmah upotrijebili ili kopirati kôd kako biste je prilagodili prema svojim potrebama.

Nakon što pokrenete kôd, odmah će se stvoriti excel datoteka koja će imati 5 listova, a svaki će list sadržavati 3 stupca s podacima istog grada.
Premjestite stupac u listove

Kako radi?

U gornjem primjeru koda, pretpostavili smo da datoteka počinje od prve ćelije svakog lista i da svaki list sadrži isti broj stupaca.

U prvih nekoliko redaka koda deklarirali smo varijable koje će nam trebati u postupku. Zaglavlja stupaca spremili smo u varijablu pod nazivom cols.Također smo stvorili .xlsx datoteku, nazvanu rezultat.xlsx.

Zatim smo koristili petlju za stvaranje istog broja listova u result.xlsx kao u zaglavlju ucols.

'petlja za stvaranje listova Za x = 1 Za cols.Count wb.Sheets.Add.Name = "page" & x Dalje 

Zatim smo koristili ugniježđenu petlju. Prva petlja je ponavljanje listova u izvornoj datoteci. Sljedeća petlja za kopiranje svakog stupca i njegovo lijepljenje u svaki list u datoteci results.xlsx.

Na kraju spremamo rezultat radne knjige.xlsx i zatvaramo je. I to je učinjeno.

Pa da, dečki, ovako možete kopirati svaki stupac na novi list u Excelu pomoću VBA. To je pitao naš korisnikMahmood u odjeljku komentara. Mislio sam da zaslužuje članak kako bi mogao biti dostupan svima nama. Evo ga. Nadam se da je bilo dovoljno objašnjenje. Ako još uvijek imate bilo kakvih nedoumica ili bilo kakvih upita, pitajte u odjeljku komentara ispod.

Podijelite Excel list u više datoteka na temelju stupca pomoću VBA | Ovaj VBA kôd dijeli excel tablicu na jedinstvenim vrijednostima u navedenom stupcu. Preuzmite radnu datoteku.

Isključite poruke upozorenja pomoću VBA u programu Microsoft Excel 2016 | Za isključivanje poruka upozorenja koje ometaju rad VBA koda, koristimo klasu Application.

Dodajte i spremite novu radnu knjigu pomoću VBA -a u programu Microsoft Excel 2016 | Za dodavanje i spremanje radnih knjiga koristeći VBA koristimo klasu Radne knjige. Radne knjige. Dodavanje lako dodaje novu radnu knjigu, međutim …

Popularni članci:

50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.

Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.

COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste računali određenu vrijednost. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.

Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.