Сценарио
Претпоставимо да имате Екцел радну свеску. Има 3 листа. Лист садржи 5 колона. Свака колона има различите податке о граду. Сваки лист садржи сличних 5 колона са различитим подацима о истим градовима.
Изазов:
Морамо да направимо датотеку која садржи различите листове за сваку јединствену колону. Сваки лист треба да садржи податке за одговарајућу колону. На крају ћемо имати 5 листова са по 3 колоне. На неки начин транспонује колоне у листове.
Логика:
Прво морамо да направимо радну свеску која садржи различите листове за сваку колону. То можемо учинити гледајући наслове првог листа наше оригиналне датотеке.
Затим морамо да прођемо кроз сваки лист оригиналног листа да бисмо копирали сваку колону на одговарајуће листове нове радне свеске.
ВБА код за транспоновање колона у листове.
Хајде да прво видимо ВБА код за транспоновање листова. Објашњавам то у наставку.
Суб ТранспосеЦолсТоСхеетс () 'променљиве Дим вб Као радна свеска Дим твб Као радна свеска Дим лстРв Као цео број Дим лстЦл Као цео број Дим цолс Ас Ранге Витх Апплицатион .ДисплаиАлертс = Фалсе .СцреенУпдатинг = Фалсе Енд Уз' креирање нове датотеке Сет вб = Воркбоокс.Адд 'савинг фајл. Замените путању одредиштем. вб.СавеАс "Ц: \ Усерс \ Манисх Сингх \ Десктоп \ Екцел савет \ ресулт.клск" Сет твб = ТхисВоркбоок твб.Схеетс (1). Активирајте лстЦл = ћелије (1, ступци.број). Крај (клТоЛефт). Колона 'идентификовање заглавља за називе градова Постави цолс = Ранге (Ћелије (1, 1), Ћелије (1, лстЦл))' за стварање листова За к = 1 За цолс.Цоунт вб.Схеетс.Адд.Наме = "паге" & к Нект 'лооп за транспоновање колона у листове За сваки сх Ин твб.Схеетс Фор к = 1 То цолс.Цоунт сх.Ацтивате лстРв = Целлс (Ровс.Цоунт, 1) .Енд (клУп) .Ров Ранге (Целлс (1, к), Ћелије (лстРв, к)). Копирајте вб.Схеетс ("паге" & к). Активирајте лстЦл = Целлс (1, Цолумнс.Цоунт) .Енд (клТоЛефт) .Цолумн + 1 Ранге (Целлс (1, лстЦл ), Целлс (1, лстЦл)). ПастеСпециал клПастеАлл Нект к Нект сх 'спремање и затварање радне књиге резултата вб.Саве вб.Цлосе Витх Апплицатион .ДисплаиАлертс = Труе .СцреенУпдатинг = Труе Енд Витх Енд Суб
Можете преузети датотеку белове да бисте је одмах користили или копирати код да бисте је прилагодили према вашим потребама.
Једном када покренете код, он ће одмах креирати екцел датотеку која ће имати 5 листова, при чему сваки лист садржи 3 колоне података истог града.
Пренесите колону у листове
Како то функционише?
У горњем примеру кода, претпоставили смо да датотека почиње од прве ћелије сваког листа и да сваки лист садржи исти број колона.
У првих неколико редова кода, декларисали смо променљиве које ће нам требати у процедури. Заглавља колона смо сачували у променљивој по имену цолс.Такође смо креирали .клск датотеку, названу резултат.клск.
Затим смо користили петљу за креирање истог броја листова у ресулт.клск као у заглављу уцолс.
'петља за креирање листова За к = 1 За цолс.Цоунт вб.Схеетс.Адд.Наме = "паге" & к Нект
Затим смо користили угнежђену петљу. Прва петља је понављање листова у оригиналној датотеци. Следећа петља за копирање сваке колоне и њено лепљење у сваки лист у датотеци ресултс.клск.
На крају чувамо резултат радне свеске.клск и затварамо је. И то је учињено.
Па да момци, овако можете копирати сваку колону на нови лист у Екцелу користећи ВБА. Ово је питао наш корисникМахмоод у одељку за коментаре. Мислио сам да заслужује чланак како би могао бити доступан свима нама. Ево га. Надам се да је било довољно објашњење. Ако и даље имате било каквих недоумица или било каквих питања, питајте у одељку за коментаре испод.
Поделите Екцел лист у више датотека на основу колоне помоћу ВБА | Овај ВБА код дели екцел базу листова на јединствене вредности у наведеној колони. Преузмите радну датотеку.
Искључите поруке упозорења помоћу ВБА у програму Мицрософт Екцел 2016 | Да бисмо искључили поруке упозорења које ометају покретање ВБА кода, користимо класу Апплицатион.
Додајте и сачувајте нову радну свеску помоћу ВБА у програму Мицрософт Екцел 2016 | За додавање и чување радних свезака користећи ВБА користимо час Радне свеске. Радне свеске. Додавање лако додаје нову радну свеску, међутим …
Популарни чланци:
50 Екцел пречица за повећање ваше продуктивности | Убрзајте свој задатак. Ових 50 пречица ће учинити да радите још брже на Екцелу.
Функција ВЛООКУП у Екцелу | Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.
ЦОУНТИФ у Екцелу 2016 | Бројте вредности са условима користећи ову невероватну функцију. Не морате филтрирати податке да бисте рачунали одређену вредност. Цоунтиф функција је неопходна за припрему ваше контролне табле.
Како се користи функција СУМИФ у Екцелу | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.