ВБА ИнСтрРев | Како се користи функција Екцел ВБА ИнСтрРев?

Екцел ВБА ИНСТРРЕВ

ВБА ИНСТРРЕВ Функција, као што стоји „У обрнутом низу“, враћа положај првог појављивања низа за претрагу (подниза) у другом низу, почевши од краја низа (здесна налево) са којег тражимо низ који се може претраживати.

ИНСТРРЕВ функција започиње претрагу низа који се може претраживати с краја низа у којем треба да сазнамо, али рачуна позицију од почетка. Постоји још један ИНСТР вба функција (означава „У низу“) који такође тражи низ у другом низу и враћа позицију, али ова функција започиње претрагу од почетка низа из којег тражимо низ који се може претраживати.

ИНСТРРЕВ и ИНСТР, оба су уграђена Стринг / Тект ВБА функција МС Екцел-а. Можемо их користити док пишемо било који макро у програму Мицрософт Висуал Басиц Едитор.

Синтакса

Као што видимо на горњој слици, постоје 2 обавезна и 2 необавезна аргумента.

  • СтрингЦхецк као низ: Ово је потребан аргумент. Морамо дати израз израза који се претражује.
  • СтрингМатцх Ас Стринг: Овај аргумент је такође потребан. Морамо навести израз низа који се тражи.
  • Старт ас Лонг = -1: Ово је опционални аргумент. Одређујемо нумерички израз. Подразумевано је потребно -1, што значи да претрага започиње на последњем месту знака. Ако одредимо било коју позитивну вредност као што је 80, тада почиње претрага са краја низа у тих 80 знакова лево.
  • Упореди као ВбЦомпареМетход = вбБинариЦомпаре Ас Лонг: Овај аргумент није обавезан.

За овај аргумент можемо одредити следеће вредности.

Повратне вредности

  1. ИНСТРРЕВ функција враћа 0 ако провера низа је нулте дужине или подударање низа није пронађена или 'почетак' аргумент> дужина подударање низа.
  2. Ова функција се враћа 'Нула' ако провера низа или подударање низа је 'Нула'.
  3. Ако је подударање низа је нулте дужине, тада се функција враћа на почетак.
  4. Ако подударање низа се налази у оквиру провере низа, тада функција враћа положај на којем је пронађено подударање.

Како се користи функција ВБА ИНСТРРЕВ?

Овај ВБА ИНСТРРЕВ Екцел образац можете преузети овде - ВБА ИНСТРРЕВ Екцел предложак

Претпоставимо да имамо податке о именима филмова и њиховим редитељима. Желимо да раздвојимо имена редитеља.

Податке имамо у 1201 реду. Ако овај задатак обавимо ручно, одузеће вам много времена.

Да бисмо учинили исто, користићемо ВБА код. Кораци су:

  • Морамо да кликнемо на 'Вижуал бејзик' Команда доступна у „Код“ Групиши у „Програмер“ Таб или можемо притиснути Алт + Ф11 да отворите едитор висуал басиц.

  • Убацићемо а модул помоћу Мени „Убаци“.

  • Направићемо потпрограм са именом ‘СплиттингНамес’.

  • Треба нам 6 променљивих. Једна за чување вредности ћелија, којом ћемо манипулисати. Друго за чување положаја првог размака у низу, треће за чување положаја последњег размака у низу, четврто за чување броја последњег реда, пето и шесто за ред и колону које ћемо користити за испис вредности у суседним ћелијама.

  • Да бисмо сазнали последњи коришћени ред у листу, треба да користимо следећи код.

Овај код ће прво одабрати ћелију Б1, а затим изабрати последњу кориштену ћелију у истој колони, а затим ћемо променљиву „ЛастРов“ доделити број реда ћелије.

  • Сада ћемо манипулисати свим ћелијама у колони Б, покренућемо а Петља „за“.

  • Вредност ћелија Б ступца од реда 2 до реда 1201 чуваћемо једну по једну у променљивој „с“ да бисмо њима манипулисали.

  • Морамо да поставимо вредност променљива „Колона“ на 3 јер треба да напишемо подељена имена у Ц (3. колона) и колону даље.

  • Ако је низ само једна реч, што значи да у низу нема простора, онда желимо сам низ као излаз. За ово ћемо одредити услов користећи „Иф анд Елсе статемент“ са звездицом (која означава један или више знакова) на следећи начин:

  • Ако у низу има простора, онда желимо раздвојити низ. Да учинимо исто што смо и ми користили ИНСТР и ИНСТРРЕВ функцију како би се пронашли први размак и последњи размак. Помоћи ће нам да пронађемо прву и последњу реч у низу.

Функција ИНСТР узима аргумент као испод:

Детаљи аргумента

  • Почетак: Са које позиције кренути.
  • Стринг1: Морамо дати израз израза који се претражује.
  • Стринг2: Морамо навести израз низа који се тражи.

У поређењу са ВбЦомпареМетход: Одређивање методе упоређивања. Подразумевано је бинарно упоређивање.

  • Морамо да користимо вба ЛИЈЕВО функцију за издвајање левих знакова из низа. Ми смо користили „Последњи простор-1“ да бисте добили леве знакове пре последњег размака.

Морамо да користимо ДЕСНО и ЛЕН функције извући праве знакове из низа након првог размака.

Макро је написан. Сада само треба да покренемо макро користећи Ф5 кључ.

Шифра:

 Суб СплиттингНамес () Дим с Ас Стринг Дим ФирстСпаце Ас Лонг Дим ЛастСПаце Ас Лонг Дим ЛастРов Ас Лонг Дим Ред Ас Лонг Дим Цолумн Ас Лонг Схеет1.Ранге ("Б1"). Селецт Селецтион.Енд (клДовн) .Селецт ЛастРов = АцтивеЦелл. Ред за ред = 2 до ЛастРов с = Схеет1.Целлс (Ров, 2) .Валуе Цолумн = 3 Иф с Лике "* *" тхен ФирстСпаце = ИнСтр (1, с, "") ЛастСПаце = ИнСтрРев (с, "") Схеет1.Целлс (Ред, Цолумн) .Валуе = Лефт (с, ЛастСПаце - 1) Схеет1.Целлс (Ров, Цолумн + 1) .Валуе = Ригхт (с, Лен (с) - ФирстСпаце) Елсе Схеет1.Целлс (Ров, Колона) .Валуе = с Енд Иф Нект Енд Суб 

Сад имамо резултат.