Аутоматско попуњавање помоћу макроа - примери ВБА кода

Аутоматско попуњавање у ВБА

Овај чланак показује како се користи аутоматско попуњавање у ВБА.

Аутоматско попуњавање је одличан алат у програму Екцел када се подаци понављају или су узастопни (попут дана у недељи, датума, месеци у години итд.). Обично бисмо првих неколико ћелија попунили потребним подацима, а затим користили Аутоматско попуњавање да бисмо копирали потребне податке до изабраног опсега.

Све се то може урадити помоћу ВБА макронаредбе.

Аутоматско попуњавање помоћу повећавања бројева

Прво, у нашем коду можемо прогласити две променљиве опсега.

Одабир 1 је распон с подацима за аутоматско попуњавање - на примјер 1 и 2.

Селецтион2 је цео опсег за аутоматско попуњавање, ово укључује први опсег плус празна места за аутоматско попуњавање.

Затим користимо методу аутоматског попуњавања да попунимо други опсег избора.

123456789101112131415 Јавни под МиАутоФилл ()'би еасиекцел.нет'Декларишите променљиве опсегаДим селецтион1 Ас РангеДим селецтион2 Ас Ранге'Подесите променљиве опсега = њихове одговарајуће опсегеСет селецтион1 = Схеет1.Ранге ("А1: А2")Сет селецтион2 = Схеет1.Ранге ("А1: А12")'Аутоматско попуњавањеселецтион1.АутоФилл Дестинатион: = селецтион2Енд Суб

Затим можемо покренути макро у Аутофилл Ранге (А1: А12).

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

Аутоматско попуњавање помоћу месеци

Макро за аутоматско попуњавање помоћу месеци готово је идентичан оном који се користи за повећање бројева, уз један важан изузетак.

1234567891011 Јавно под -аутоматско попуњавањеМесеци ()'би еасиекцел.нет'Декларишите променљиве опсегаДим селецтион1 Ас РангеДим селецтион2 Ас Ранге'Подесите променљиве опсега = њихове одговарајуће опсегеСет селецтион1 = Схеет1.Ранге ("А1: А2")Сет селецтион2 = Схеет1.Ранге ("А1: А12")„Аутоматско попуњавање месециОдредиште аутоматског попуњавања: = селецтион2, Тип: = клФиллМонтхсЕнд Суб

Када уносимо врсту аутоматског попуњавања, биће нам дато неколико Екцел константи на избор. Ако ово изоставимо, Екцел ће одредити врсту података које треба попунити из датих оригиналних података.

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

Аутоматско попуњавање помоћу клФиллЦопи

Ако желимо да користимо макро за аутоматско попуњавање да бисмо копирали податке у нове ћелије, можемо користити константу клФиллЦопи.

1234567 Јавно помоћно аутоматско попуњавање ()Дим Селецтион1 Ас РангеДим Селецтион2 Ас РангеСет Селецтион1 = Схеет1.Ранге ("А1: А1")Сет Селецтион2 = Схеет1.Ранге ("А1: А12")Селецтион1.АутоФилл Дестинатион: = Селецтион2, Типе: = клФиллЦопиЕнд Суб

Покретање овог макроа копирало би податке у опсегу („А1“) до опсега („А1: А12“) уместо аутоматског попуњавања ћелија наредним месецима од „јануара“.

Аутоматско попуњавање помоћу клФласхФилл

Када морамо да конвертујемо текст у колоне у Екцелу, можемо или да употребимо опцију текст у колоне, или можемо да користимо опцију која се зове Фласх Филл. Ово је изузетно корисно у ВБА.

Узмите на пример следеће податке:

Можемо да откуцамо презиме „Толлеи“ у ћелију Б2, а затим да употребимо макро за Фласхфилл преостале податке.

1234567 Под ФласхФилл ()Дим Селецтион1 Ас РангеДим Селецтион2 Ас РангеСет Селецтион1 = Ранге ("Б2: Б2")Сет Селецтион2 = Ранге ("Б2: Б15")Селецтион1.АутоФилл Дестинатион: = Селецтион2, Типе: = клФласхФиллЕнд Суб

Затим можемо поновити ово колоне Ц, Д и Е да бисмо добили преостале податке.

1234567891011 Сет Селецтион1 = Ранге ("Ц2: Ц2")Сет Селецтион2 = Ранге ("Ц2: Ц15")Селецтион1.АутоФилл Дестинатион: = Селецтион2, Типе: = клФласхФиллСет Селецтион1 = Ранге ("Д2: Д2")Сет Селецтион2 = Ранге ("Д2: Д15")Селецтион1.АутоФилл Дестинатион: = Селецтион2, Типе: = клФласхФиллСет Селецтион1 = Ранге ("Е2: Е2")Сет Селецтион2 = Ранге ("Е2: Е15")Селецтион1.АутоФилл Дестинатион: = Селецтион2, Типе: = клФласхФилл

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

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave