Екцел - Макро за подешавање и аутоматско попуњавање опсега

Питање

Снимио сам макро за Екцел, а дио кода је креирање индексне колоне која попуњава ћелију бројем редова (тј. А2 = 1, А3 = 2, итд.) На основу података у колони Б).

  • Макро се снима и ради савршено, али када покушам да га користим у другој датотеци, макро се појављује у проблему јер свака датотека нема исти број испуњених редова.
  • Како могу да изменим код испод да бих се прилагодио било којој Екцел датотеци коју отворим без обзира на то колико редова има?

 Изабери Селецтион.Инсерт Схифт: = клТоРигхт, ЦопиОригин: = клФорматФромЛефтОрАбове Ранге ("А1"). Изаберите АцтивеЦелл.ФормулаР1Ц1 = "Индекс" колоне ("Б: Б"). Цолумнс ("А: А") Изаберите Селецтион.ПастеСпециал Пасте: = клПастеФорматс, Оператион: = клНоне, _ СкипБланкс: = Фалсе, Транспосе: = Фалсе Апплицатион.ЦутЦопиМоде = Фалсе Ранге ("А2"). "1" Ранге ("А3") Изаберите АцтивеЦелл.ФормулаР1Ц1 = "2" опсег ("А2: А3") Изаберите Селецтион.АутоФилл Дестинатион: = Ранге ("А2: А295324") Ранге ("А2: А295324") .Селецт 

Решење

Испробајте следећи код:

 Суб тест () Дим лРов Ас Лонг Цолумнс ("А: А"). Изаберите Селецтион.Инсерт Схифт: = клТоРигхт Ранге ("А1"). Валуе = "Индек" Ранге ("А2"). Валуе = 1 Ранге (" А3 "). Валуе = 2 Ранге (" А2: А3 "). Изаберите лРов = Ранге (" Б "& Ровс.Цоунт) .Енд (клУп) .Ров Селецтион.АутоФилл Дестинатион: = Ранге (" А2: А "& лРов) Енд Суб 

Хвала ТроваД-у на овом савету.

Претходни Чланак Sledeći Чланак

Топ Савети