Сценарий
Да предположим, че имате работна книга на Excel. Има 3 листа. Листът съдържа 5 колони. Всяка колона има различни данни за града. Всеки лист съдържа подобни 5 колони с различни данни за едни и същи градове.
Предизвикателство:
Трябва да създадем файл, който съдържа различни листове за всяка уникална колона. Всеки лист трябва да съдържа данните за съответната колона. В крайна сметка ще имаме 5 листа с по 3 колони. По някакъв начин той транспонира колони в листове.
Логика:
Първо, трябва да създадем работна книга, която да съдържа различни листове за всяка колона. Можем да направим това, като погледнем заглавията на първия лист на нашия оригинален файл.
След това трябва да преминем през всеки лист от оригиналния лист, за да копираме всяка колона в съответните листове на новата работна книга.
VBA код за транспониране на колони в листове.
Нека първо да видим кода на VBA, за да транспонираме листовете. Обяснявам го по -долу.
Sub TransposeColsToSheets () 'променливи Dim wb като работна книга Dim twb като работна книга Dim lstRw като цяло число Dim lstCl като цяло число Dim cols като обхват с приложение .DisplayAlerts = невярно. файлът. Заменете пътя с вашата дестинация. wb.SaveAs "C: \ Users \ Manish Singh \ Desktop \ Excel Съвет \ result.xlsx" Задайте twb = ThisWorkbook twb.Sheets (1). Активирайте lstCl = клетки (1, колони. брой). Край (xlToLeft). Колона 'идентифициране на заглавки за имена на градове Задайте cols = Range (Cells (1, 1), Cells (1, lstCl))' цикъл за създаване на листове For x = 1 To cols.Count wb.Sheets.Add.Name = "page" & x Следващ цикъл за транспониране на колони в листове За всеки sh In twb.Sheets For x = 1 За cols.Count sh.Activate lstRw = Cells (Rows.Count, 1) .End (xlUp) .Row Range (Cells (1, x), Клетки (lstRw, x)). Копирайте wb.Sheets ("страница" & x). Активирайте lstCl = Клетки (1, колони.Кон). Край (xlToLeft). Колона + 1 Обхват (Клетки (1, lstCl ), Клетки (1, lstCl)). PasteSpecial xlPasteAll Next x Next sh 'запазване и затваряне на работната книга на резултата wb.Save wb.Close With Application .DisplayAlerts = True .ScreenUpdating = True End With End Sub
Можете да изтеглите файла belove, за да го използвате незабавно, или да копирате кода, за да го персонализирате според вашите нужди.
След като стартирате кода, той веднага ще създаде Excel файл, който ще има 5 листа, като всеки лист съдържа 3 колони с данни за същия град.Транспониране на колона към листове
Как работи?
В горния примерен код приехме, че файлът започва от първата клетка на всеки лист и всеки лист съдържа същия брой колони.
В първите няколко реда код декларирахме променливите, които ще ни трябват в процедурата. Запазихме заглавките на колоните в променлива с име cols.Създадохме и .xlsx файл с име резултат.xlsx.
След това използвахме цикъл за създаване на същия брой листове в result.xlsx, както в заглавката вcols.
'цикъл за създаване на листове For x = 1 To cols.Count wb.Sheets.Add.Name = "page" & x Next
След това използвахме вложен цикъл. Първият цикъл е за повторение на листове в оригиналния файл. Следващ цикъл за копиране на всяка колона и поставяне във всеки лист във файла results.xlsx.
В крайна сметка запазваме резултата от работната книга.xlsx и го затваряме. И е направено.
Така че да, момчета, ето как можете да копирате всяка колона в нов лист в Excel, използвайки VBA. Това беше попитано от нашия потребителМахмуд в раздела за коментари. Мислех, че заслужава статия, за да бъде достъпна за всички нас. Ето го. Надявам се, че беше достатъчно обяснително. Ако все още имате някакви съмнения или друго запитване, попитайте в секцията за коментари по -долу.
Разделете Excel листа на множество файлове въз основа на колона с помощта на VBA | Този VBA код разделя базата на Excel на уникални стойности в определена колона. Изтеглете работния файл.
Изключете предупредителните съобщения с помощта на VBA в Microsoft Excel 2016 | За да изключим предупредителните съобщения, които прекъсват работещия VBA код, използваме класа Application.
Добавяне и запазване на нова работна книга с помощта на VBA в Microsoft Excel 2016 | За да добавяте и запазвате работни книги, използвайки VBA, използваме клас Работни книги. Работни книги. Добавянето лесно добавя нова работна книга, но …
Популярни статии:
50 преки пътища в Excel за повишаване на вашата производителност | Бъдете по -бързи в задачата си. Тези 50 преки пътища ще ви накарат да работите още по -бързо в Excel.
Функцията VLOOKUP в Excel | Това е една от най -използваните и популярни функции на excel, която се използва за търсене на стойност от различни диапазони и листове.
COUNTIF в Excel 2016 | Пребройте стойностите с условия, използвайки тази невероятна функция. Не е необходимо да филтрирате данните си, за да преброите конкретна стойност. Функцията Countif е от съществено значение за подготовката на вашето табло.
Как да използвате функцията SUMIF в Excel | Това е друга основна функция на таблото. Това ви помага да обобщите стойностите при конкретни условия.