Копирајте УседРанге сваког листа у један лист користећи ВБА у Мицрософт Екцелу

Anonim

У случају да желите ископирати распон сваког радног листа у главни лист, требали бисте прочитати овај чланак. Користићемо ВБА код за копирање података са сваког радног листа, а затим залепити у други лист без преписивања.

Макро ће додати лист са именом Мастер у вашу радну свеску и копираће ћелије са сваког листа у вашој радној свесци на овом радном листу.

Први макро ради нормалну копију, а други макро копира вредности. Макро подморнице користе доле наведене функције; макро неће радити без функција.

Следи снимак података са листа 1 и листа 2:

Морамо да следимо кораке у наставку да бисмо покренули ВБ едитор:

  • Кликните на картицу Девелопер
  • Из групе кодова изаберите Висуал Басиц

  • Копирајте доњи код у стандардни модул
Суб ЦопиУседРанге () Дим сх Ас Ворксхеет Дим ДестСх Ас Ворксхеет Дим Ласт Ас Лонг Иф СхеетЕкистс ("Мастер") = Труе тхен МсгБок "Мастер Мастер Лист већ постоји" Екит Суб Енд Иф Апплицатион.СцреенУпдатинг = Фалсе Сет ДестСх = Ворксхеетс.Адд ДестСх .Наме = "Мастер" За свако сх у овој радној свесци.Радни листови Ако је назив сх.Назив онда Ако је сх.УседРанге.Цоунт> 1 Затим Ласт = ЛастРов (ДестСх) сх.УседРанге.Цопи ДестСх.Целлс (Ласт + 1, 1 ) Енд Иф Енд Иф Нект Апплицатион.СцреенУпдатинг = Труе Енд Суб Суб ЦопиУседРангеВалуес () Дим сх Ас Радни лист Дим ДестСх Ас Ворксхеет Дим Ласт Ас Лонг Иф СхеетЕкистс ("Мастер") = Труе Онда МсгБок "Мастер листа већ постоји" Екит Суб Енд Иф Апплицатион.СцреенУпдатинг = Фалсе Сет ДестСх = Ворксхеетс.Адд ДестСх.Наме = "Мастер" За свако сх у овој радној свесци.Радни листови Иф сх.Наме ДестСх.Наме Тхен Иф сх.УседРанге.Цоунт> 1 Тхен Ласт = ЛастРов (ДестСх) Витх сх.УседРанге ДестСх.Целлс (Ласт + 1, 1) .Ресизе (.Ровс.Цоунт, _ .Цолумнс.Цоунт) .Валуе = .Валуе Енд Витх Енд Иф Енд Иф Нект Ап плицатион.СцреенУпдатинг = Труе Енд Суб Фунцтион ЛастРов (сх Ас Ворксхеет) Он Еррор Ресуме Нект ЛастРов = сх.Целлс.Финд (Вхат: = "*", _ Афтер: = сх.Ранге ("А1"), _ Лоокат: = клПарт, _ ЛоокИн: = клФормулас, _ Налог за претрагу: = клБиРовс, _ СеарцхДирецтион: = клПревиоус, _ МатцхЦасе: = Фалсе). Грешка при поновном покретању Иди на 0 Крај Функција Функција Ластцол (сх Као радни лист) Он Грешка Настави Сљедећи Ластцол = сх.Целлс .Финд (Вхат: = "*", _ Афтер: = сх.Ранге ("А1"), _ Лоокат: = клПарт, _ ЛоокИн: = клФормулас, _ СеарцхОрдер: = клБиЦолумнс, _ СеарцхДирецтион: = клПретходни, _ МатцхЦасе: = Тачно .Назив)) Крај функција 

Сада је макро код подешен; покренућемо макро „ЦопиУседРанге“ и он ће уметнути нови лист „Мастер“ и копирати податке са сваког листа.

Закључак:Копирање података са више листова је ручни задатак; Међутим; са горњим кодом, можемо консолидовати податке једним кликом на макро.

Ако вам се допадају наши блогови, поделите их са пријатељима на Фацебооку. Такође нас можете пратити на Твиттер -у и Фацебоок -у.

Волели бисмо да чујемо од вас, реците нам како можемо побољшати, допунити или иновирати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште