ВБА ИнСтрРев | Како се користи функција Екцел ВБА ИнСтрРев?
Екцел ВБА ИНСТРРЕВ
ВБА ИНСТРРЕВ Функција, као што стоји „У обрнутом низу“, враћа положај првог појављивања низа за претрагу (подниза) у другом низу, почевши од краја низа (здесна налево) са којег тражимо низ који се може претраживати.
ИНСТРРЕВ функција започиње претрагу низа који се може претраживати с краја низа у којем треба да сазнамо, али рачуна позицију од почетка. Постоји још један ИНСТР вба функција (означава „У низу“) који такође тражи низ у другом низу и враћа позицију, али ова функција започиње претрагу од почетка низа из којег тражимо низ који се може претраживати.
ИНСТРРЕВ и ИНСТР, оба су уграђена Стринг / Тект ВБА функција МС Екцел-а. Можемо их користити док пишемо било који макро у програму Мицрософт Висуал Басиц Едитор.
Синтакса
Као што видимо на горњој слици, постоје 2 обавезна и 2 необавезна аргумента.
- СтрингЦхецк као низ: Ово је потребан аргумент. Морамо дати израз израза који се претражује.
- СтрингМатцх Ас Стринг: Овај аргумент је такође потребан. Морамо навести израз низа који се тражи.
- Старт ас Лонг = -1: Ово је опционални аргумент. Одређујемо нумерички израз. Подразумевано је потребно -1, што значи да претрага започиње на последњем месту знака. Ако одредимо било коју позитивну вредност као што је 80, тада почиње претрага са краја низа у тих 80 знакова лево.
- Упореди као ВбЦомпареМетход = вбБинариЦомпаре Ас Лонг: Овај аргумент није обавезан.
За овај аргумент можемо одредити следеће вредности.
Повратне вредности
- ИНСТРРЕВ функција враћа 0 ако провера низа је нулте дужине или подударање низа није пронађена или 'почетак' аргумент> дужина подударање низа.
- Ова функција се враћа 'Нула' ако провера низа или подударање низа је 'Нула'.
- Ако је подударање низа је нулте дужине, тада се функција враћа на почетак.
- Ако подударање низа се налази у оквиру провере низа, тада функција враћа положај на којем је пронађено подударање.
Како се користи функција ВБА ИНСТРРЕВ?
Овај ВБА ИНСТРРЕВ Екцел образац можете преузети овде - ВБА ИНСТРРЕВ Екцел предложакПретпоставимо да имамо податке о именима филмова и њиховим редитељима. Желимо да раздвојимо имена редитеља.
Податке имамо у 1201 реду. Ако овај задатак обавимо ручно, одузеће вам много времена.
Да бисмо учинили исто, користићемо ВБА код. Кораци су:
- Морамо да кликнемо на 'Вижуал бејзик' Команда доступна у „Код“ Групиши у „Програмер“ Таб или можемо притиснути Алт + Ф11 да отворите едитор висуал басиц.
- Убацићемо а модул помоћу Мени „Убаци“.
- Направићемо потпрограм са именом ‘СплиттингНамес’.
- Треба нам 6 променљивих. Једна за чување вредности ћелија, којом ћемо манипулисати. Друго за чување положаја првог размака у низу, треће за чување положаја последњег размака у низу, четврто за чување броја последњег реда, пето и шесто за ред и колону које ћемо користити за испис вредности у суседним ћелијама.
- Да бисмо сазнали последњи коришћени ред у листу, треба да користимо следећи код.
Овај код ће прво одабрати ћелију Б1, а затим изабрати последњу кориштену ћелију у истој колони, а затим ћемо променљиву „ЛастРов“ доделити број реда ћелије.
- Сада ћемо манипулисати свим ћелијама у колони Б, покренућемо а Петља „за“.
- Вредност ћелија Б ступца од реда 2 до реда 1201 чуваћемо једну по једну у променљивој „с“ да бисмо њима манипулисали.
- Морамо да поставимо вредност променљива „Колона“ на 3 јер треба да напишемо подељена имена у Ц (3. колона) и колону даље.
- Ако је низ само једна реч, што значи да у низу нема простора, онда желимо сам низ као излаз. За ово ћемо одредити услов користећи „Иф анд Елсе статемент“ са звездицом (која означава један или више знакова) на следећи начин:
- Ако у низу има простора, онда желимо раздвојити низ. Да учинимо исто што смо и ми користили ИНСТР и ИНСТРРЕВ функцију како би се пронашли први размак и последњи размак. Помоћи ће нам да пронађемо прву и последњу реч у низу.
Функција ИНСТР узима аргумент као испод:
Детаљи аргумента
- Почетак: Са које позиције кренути.
- Стринг1: Морамо дати израз израза који се претражује.
- Стринг2: Морамо навести израз низа који се тражи.
У поређењу са ВбЦомпареМетход: Одређивање методе упоређивања. Подразумевано је бинарно упоређивање.
- Морамо да користимо вба ЛИЈЕВО функцију за издвајање левих знакова из низа. Ми смо користили „Последњи простор-1“ да бисте добили леве знакове пре последњег размака.
Морамо да користимо ДЕСНО и ЛЕН функције извући праве знакове из низа након првог размака.
Макро је написан. Сада само треба да покренемо макро користећи Ф5 кључ.
Шифра:
Суб СплиттингНамес () Дим с Ас Стринг Дим ФирстСпаце Ас Лонг Дим ЛастСПаце Ас Лонг Дим ЛастРов Ас Лонг Дим Ред Ас Лонг Дим Цолумн Ас Лонг Схеет1.Ранге ("Б1"). Селецт Селецтион.Енд (клДовн) .Селецт ЛастРов = АцтивеЦелл. Ред за ред = 2 до ЛастРов с = Схеет1.Целлс (Ров, 2) .Валуе Цолумн = 3 Иф с Лике "* *" тхен ФирстСпаце = ИнСтр (1, с, "") ЛастСПаце = ИнСтрРев (с, "") Схеет1.Целлс (Ред, Цолумн) .Валуе = Лефт (с, ЛастСПаце - 1) Схеет1.Целлс (Ров, Цолумн + 1) .Валуе = Ригхт (с, Лен (с) - ФирстСпаце) Елсе Схеет1.Целлс (Ров, Колона) .Валуе = с Енд Иф Нект Енд Суб
Сад имамо резултат.