Како поново затамнити сачувати 2Д низ у Екцел ВБА (2 лака начина)

  • Деле Ово
Hugh West

Низ је променљива која чува исте врсте података. Ако постоји само један ред или једна колона података, онда је познат као једнодимензионални низ. Међутим, када постоји више од једног реда и колоне, то се назива 2Д низ. Користимо РеДим да променимо величину низа у ВБА. Поред тога, користимо Пресерве кључну реч са РеДим да бисмо сачували старе податке нетакнутима. Овај чланак ће вам показати 2 брза начина да “ РеДим Пресерве 2Д низ у Екцел ВБА .

Преузми радну свеску

Макро у РеДим Пресерве 2Д.клсм

2 згодна приступа РеДим Пресерве 2Д низ у Екцел ВБА

Ово је основни скуп података креиран од 2Д низа са три реда и две колоне. Прво ћемо креирати овај низ. Затим ћемо овом низу додати још једну колону. За то ћемо користити „ РеДим Пресерве ”. Поред тога, показаћемо шта се дешава ако ово не користимо.

Подразумевано, можемо да променимо величину само последње димензије низа (тј. колона или горње границе). Транспоноваћемо низ, затим променити последњу димензију, а затим поново транспоновати да бисмо променили величину обе димензије 2Д низа у Екцел ВБА.

1 РеДим Пресерве Ласт Дименсион 2Д Арраи

Прво ћемо дефинисати 2Д низ као динамички. Затим, користећи наредбу РеДим , креираћемониз са три реда и две колоне. На крају, поново ћемо користити наредбу РеДим са Пресерве кључном речју за повећајте горњу границу дводимензионалног низа.

Кораци:

  • За почетак притисните АЛТ+Ф11 да бисте отворили прозор ВБА Модул . Алтернативно, ово можете да урадите на картици Програмер →  изаберите Висуал Басиц .
  • Затим, са Инсерт таб → изаберите Модуле . Овде ћемо укуцати ВБА код.

  • Следеће, укуцајте следећи код у Модуле прозор.
4832

ВБА Цоде Бреакдовн

  • Прво, зовемо Подпроцедура Редим_Пресерве_2Д_Арраи_Ров ”.
  • Затим променљиву Наш_Масив проглашавамо као динамички низ.
  • Даље, дефинишемо величину низа. Доња граница је 3 , горња граница је 2 , а обе почињу од 1 .
  • Затим, додељујемо вредности низу .
  • Након тога уносимо вредности у опсег ћелија Ц6:Д8 .
  • Након тога, ми ће извршити код.
  • Дакле, Сачувај Модул и притисните Покрени .

  • Као резултат, вратиће вредности у дефинисане опсеге ћелија. Можемо видети да је „ Рацхел ” у реду 1 и колони 1 позицији,који је дефинисан као ( 1,1 ) у ВБА коду.

  • Сада ћемо променити величину низа.
  • Дакле, додајте ово претходном коду и уклоните прву наредбу Ранге.Валуе . Штавише, како изгледа код можете видети на снимку испод.
7996

  • Овде смо повећали горњу границу од ( 1 До 2 ) до ( 1 До 3 ) од 1 .
  • Онда смо додали вредности у низ.
  • Сада ако извршимо овај код, видећемо да претходне вредности нису сачуване. Вратиће празно за претходне вредности.

  • Сада ово можемо поправити додавањем Пресерве кеиворд у РеДим изјава .
  • Коначно, наш цео код ће бити овај.
4057

  • Сада, ако Покрени овај код, онда ће излаз бити овакав. Стога ћемо „ РеДим Пресерве ” последњу димензију 2Д низа у Екцел ВБА.. Сада, следећи метод ће вам показати како да „ РеДим Сачувајте ” и промените величину обе димензије низа.

Прочитајте више: ВБА да бисте постали јединствени Вредности из колоне у низ у Екцел-у (3 критеријума)

Слична очитавања

  • Како именовати низ табеле у Екцел-у (са Једноставни кораци)
  • Екцел ВБА за читање ЦСВ датотеке у низ (4 идеална примера)
  • Како претворити опсег у низ у Екцел-уВБА (3 начина)
  • Екцел ВБА: Уклони дупликате из низа (2 примера)

2. РеДим сачува 2Д низ обе димензије у Екцел ВБА

У овој коначној методи, показаћемо вам кораке за промену величине и „ РеДим Пресерве 2Д низа . Овде ћемо користити функцију ВБА Транспосе да променимо величину доње границе низа. Ако смо покушали да променимо величину доње границе низа у првом методу, видећемо грешку „ Субсцрипт оут оф ранге ”. Сада, без даљег одлагања, да видимо како то можемо да поправимо и постигнемо свој циљ.

Кораци:

  • Прво, као што је приказано у првом методу , отворите прозор Модул .
  • Друго, додајте следеће линије кода у први код.
6289
  • Штавише, код за коначни метод изгледа овако.
8059

Разбијање ВБА кода

  • Прво, позивамо Суб процедуру РеДим_Пресерве_2Д_Арраи_Ботх_Дименсионс ” .
  • Онда, остали кодови до функције ВБА Транспосе су исти као у првом коду.
  • Овде, ми транспонују низ.
  • Затим, повећавамо горњу границу низа.
  • Након тога, поново транспонујемо низ. Због тога ће на крају променити доњу границу.
  • Даље, уносимо вредности за низ промењене величине докчувајући старе податке.
  • На крају, уписујемо вредности у опсег ћелија Ц6:Е9 .
  • Након да, као што је приказано у првом методу , Покрени овај код.
  • Дакле, можемо да визуализујемо како код чува 2Д низ користећи „ РеДим Пресерве ” и ВБА Транспосе функцију.

Прочитајте више: ВБА за транспоновање низа у Екцел (3 методе)

Ствари које треба запамтити

  • РеДим Пресерве не може да промени доњу границу низа. Да бисмо то урадили, морамо да користимо функцију Транспосе .
  • Можемо да користимо само РеДим на динамичким низовима.

Закључак

Показали смо вам два брза начина да „ РеДим Пресерве низ у Екцел ВБА. Ако се суочите са било каквим проблемима у вези са овим методама или имате било какве повратне информације за мене, слободно коментаришите испод. Штавише, можете посетити наш сајт ЕкцелВИКИ за више чланака у вези са Екцел-ом. Хвала на читању, наставите да се истичете!

Хју Вест је веома искусан Екцел тренер и аналитичар са више од 10 година искуства у индустрији. Дипломирао је рачуноводство и финансије и магистрирао пословну администрацију. Хју има страст према подучавању и развио је јединствен приступ подучавању који је лако пратити и разумети. Његово стручно знање о Екцел-у помогло је хиљадама студената и професионалаца широм света да унапреде своје вештине и постану успешни у каријери. Кроз свој блог, Хју дели своје знање са светом, нудећи бесплатне Екцел туторијале и онлајн обуку како би помогли појединцима и предузећима да остваре свој пуни потенцијал.