Prenesite stolpec v Excelove liste z uporabo VBA

Kazalo:

Anonim

Scenarij

Predpostavimo, da imate delovni zvezek Excel. Ima 3 liste. List vsebuje 5 stolpcev. Vsak stolpec ima različne podatke o mestu. Vsak list vsebuje podobnih 5 stolpcev z različnimi podatki o istih mestih.

Izziv:

Ustvariti moramo datoteko, ki vsebuje različne liste za vsak edinstven stolpec. Vsak list mora vsebovati podatke svojega stolpca. Na koncu bomo imeli 5 listov s po 3 stolpci. Na nek način prenaša stolpce v liste.

Logika:

Najprej moramo ustvariti delovni zvezek, ki vsebuje različne liste za vsak stolpec. To lahko naredimo tako, da pogledamo naslove prvega lista izvirne datoteke.

Nato moramo prelistati vsak list izvirnega lista, da kopiramo vsak stolpec na ustrezne liste novega delovnega zvezka.

Koda VBA za prenos stolpcev v liste.

Poglejmo kodo VBA, da najprej prenesemo liste. Spodaj razlagam.

Sub TransposeColsToSheets () 'spremenljivke Dim wb Kot delovni zvezek Dim twb Kot delovni zvezek Dim lstRw Kot celo število Dim lstCl Kot celoštevilno zatemni kot obseg z aplikacijo .DisplayAlerts = False .ScreenUpdating = False End Z' ustvarjanjem nove datoteke Set wb = delovni zvezki. datoteka. Pot zamenjajte s ciljem. wb.SaveAs "C: \ Users \ Manish Singh \ Desktop \ Excel Nasvet \ result.xlsx" Set twb = ThisWorkbook twb.Sheets (1). Aktivirajte lstCl = celice (1, stolpci.Število). 'identifikacijske glave za imena mest Nastavi cols = Range (Celice (1, 1), Cells (1, lstCl))' zanko za ustvarjanje listov Za x = 1 Za cols.Count wb.Sheets.Add.Name = "page" & x Next 'zanka za prenos stolpcev na liste Za vsak sh In twb.Sheets For x = 1 To cols.Count sh.Activate lstRw = Cells (Rows.Count, 1) .End (xlUp) .Row Range (Celice (1, x), celice (lstRw, x)). Kopirajte wb.Sheets ("stran" & x). Aktivirajte lstCl = celice (1, stolpci.števanje). Konec (xlToLeft). stolpec + 1 obseg (celice (1, lstCl ), Celice (1, lstCl)). PasteSpecial xlPasteAll Next x Next sh 'shranjevanje in zapiranje delovnega zvezka rezultata wb.Save wb.Close With Application .DisplayAlerts = True .ScreenUpdating = True End With End Sub 

Lahko prenesete datoteko belove, da jo takoj uporabite, ali kopirajte kodo, da jo prilagodite svojim potrebam.

Ko zaženete kodo, bo takoj ustvarila datoteko excel, ki bo imela 5 listov, pri čemer bo vsak list vseboval 3 stolpce s podatki istega mesta.
Prenesite stolpec v liste

Kako deluje?

V zgornjem primeru kode smo predpostavili, da se datoteka začne iz prve celice vsakega lista in vsak list vsebuje enako število stolpcev.

V prvih nekaj vrsticah kode smo razglasili spremenljivke, ki jih bomo potrebovali v postopku. Glave stolpcev smo shranili v spremenljivko z imenom cols.Ustvarili smo tudi datoteko .xlsx z imenom rezultat.xlsx.

Nato smo uporabili zanko za ustvarjanje enakega števila listov v result.xlsx kot v glavi vcols.

'zanka za ustvarjanje listov Za x = 1 Za cols.Count wb.Sheets.Add.Name = "page" & x Naprej 

Nato smo uporabili ugnezdeno zanko. Prva zanka je ponovitev listov v izvirni datoteki. Naslednja zanka za kopiranje vsakega stolpca in lepljenje na vsak list v datoteki results.xlsx.

Na koncu shranimo rezultat delovnega zvezka.xlsx in ga zapremo. In to je storjeno.

Torej, fantje, tako lahko vsak stolpec kopirate na nov list v Excelu z uporabo VBA. To je vprašal naš uporabnikMahmood v razdelku s komentarji. Mislil sem, da si zasluži članek, da bo na voljo vsem nam. Tukaj imate. Upam, da je bilo dovolj razlagalno. Če še vedno dvomite ali imate kakršno koli vprašanje, vprašajte v spodnjem razdelku za komentarje.

Razdelite list Excel v več datotek na podlagi stolpca z uporabo VBA | Ta koda VBA za razdelitev kode excel na edinstvene vrednosti v določenem stolpcu. Prenesite delovno datoteko.

Izklopite opozorilna sporočila z uporabo VBA v programu Microsoft Excel 2016 | Za izklop opozorilnih sporočil, ki prekinejo delovanje kode VBA, uporabljamo razred Application.

Dodajte in shranite nov delovni zvezek z uporabo VBA v programu Microsoft Excel 2016 | Za dodajanje in shranjevanje delovnih zvezkov z uporabo VBA uporabljamo razred Delovni zvezki. Delovni zvezki.Dodajanje zlahka doda nov delovni zvezek …

Priljubljeni članki:

50 bližnjic v Excelu za povečanje produktivnosti | Poskrbite, da bo vaša naloga hitrejša. S temi 50 bližnjicami boste še hitreje delali v Excelu.

Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.

COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določene vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.

Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje.