ВБА исправна функција (примери) | Корак по корак Водич за Екцел ВБА Тачно

Права функција у ВБА Екцелу

Десна функција је иста као и у функцији радног листа и у ВБА, употреба ове функције је у томе што нам даје подниз из датог низа, али претрага се врши с десна на лево од низа, ово је врста функције низа у ВБА користи се са апликацијом.метод функције радног листа.

ДЕСНА Функција у програму Екцел ВБА која се користи за издвајање знакова са десне стране испоручених вредности текста. У Екцелу имамо много текстуалних функција за обраду података заснованих на тексту. Неке од корисних функција су ЛЕН, ЛЕФТ, РИГХТ, МИД функција за издвајање знакова из текстуалних вредности. Уобичајени пример коришћења ових функција је издвајање имена и презимена одвојено од пуног имена.

ПРАВА формула је такође на радном листу. У ВБА морамо да се ослонимо на класу функција радног листа за приступ функцији ВБА РИГХТ, уместо да имамо уграђену РИГХТ функцију и у ВБА.

Сада погледајте доњу синтаксу формуле ВБА ДЕСНО.

  • Низ: То је наша вредност и из ове вредности покушавамо да издвојимо знакове са десне стране низа.
  • Дужина: Од испорученог Низ колико нам је знакова потребно. Ако су нам потребна четири знака с десне стране, аргумент можемо навести као 4.

На пример, ако је низ „Мобилни телефон“ и ако желимо издвојити само реч „Телефон“, можемо навести аргумент као доле.

ДЕСНО („Мобилни телефон“, 5)

Разлог зашто сам споменуо 5, јер реч „Телефон“ садржи 5 слова. У следећем одељку чланка видећемо како можемо да га користимо у ВБА.

Примери Екцел ВБА исправне функције

Следе примери ВБА Екцел исправне функције.

Ову ВБА исправну функцију Екцел предлошка можете преузети овде - ВБА исправну функцију Екцел предлошка

Пример # 1

Показаћу вам једноставан пример за покретање поступка. Претпоставимо да имате низ „Нев Иорк“ и ако желите да извучете 3 знака с десне стране, следите кораке у наставку за писање кода.

Корак 1: Прогласите променљиву као ВБА низ.

Шифра:

 Суб Ригхт_Екампле1 () Дим к Ас Стринг Енд Суб 

Корак 2: Сада ћемо овој променљивој доделити вредност применом функције ДЕСНО.

Шифра:

 Суб Ригхт_Екампле1 () Дим к Ас Стринг к = Ригхт (Енд Суб 

Корак 3: Први аргумент је Низ а наш низ за овај пример је „Њујорк“.

Шифра:

 Суб Ригхт_Екампле1 () Дим к Ас Стринг к = Ригхт ("Нев Иорк", Енд Суб 

Корак 4: Следи колико знакова нам треба из испорученог низа. У овом примеру су нам потребна 3 знака.

Шифра:

 Суб Ригхт_Екампле1 () Дим к Ас Стринг к = Ригхт ("Нев Иорк", 3) Енд Суб 

Корак 5: Имамо 2 аргумента за решавање, па смо завршили. Сада доделите вредност ове променљиве у оквиру за поруке у ВБА.

Шифра:

 Суб Ригхт_Екампле1 () Дим к Ас Стринг к = Ригхт ("Нев Иорк", 3) МсгБок к Енд Суб 

Покрените код помоћу тастера Ф5 или ручно и погледајте резултат у оквиру за поруку.

У речи „Нев Иорк“ са десне стране су 3 знака „Орк“.

Сада ћу променити дужину са 3 на 4 да бих добио пуну вредност.

Шифра:

 Суб Ригхт_Екампле1 () Дим к Ас Стринг к = Ригхт ("Нев Иорк", 4) МсгБок к Енд Суб 

Покрените овај код ручно или помоћу тастера Ф5, добићемо „Иорк“.

Пример # 2

Сада погледајте још један пример, овог пута вредност низа сматрајте „Мицхаел Цларке“.

Ако наведете дужину као 6, добићемо „Цларке“ као резултат.

Шифра:

 Суб Ригхт_Екампле1 () Дим к Ас Стринг к = Ригхт ("Мицхаел Цларке", 6) МсгБок к Енд Суб 

Покрените овај код помоћу тастера Ф5 или ручно да бисте видели резултат.

Динамичка десна функција у програму Екцел ВБА

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

У сваком од знакова десни знакови су различити у сваком случају. Не можемо се ручно позивати на дужину знакова за сваку вредност. Овде друга витална функција „Инстр“ игра виталну улогу.

Инстр функција враћа испоручени положај знака у испорученој вредности низа. На пример, Инстр (1, „Бангалор“, „а“) вратите положај слова „а“ у низу „Бангалоре“ од први (1) карактер.

У овом случају, резултат је 2, јер је од првог слова слова "а" друго место.

Ако променим почетни положај са 1 на 3, вратиће се 5.

Инстр (3, „Бангалор“, „а“).

Разлог зашто се враћа 5 јер сам споменуо почетну позицију да тражим слово „а“ тек из 3. слова. Дакле, положај другог појављеног „а“ је 5.

Дакле, да бисмо пронашли размак сваког знака у сваком низу, можемо ово да користимо. Једном када пронађемо позицију размака, морамо је умањити за укупну дужину низа помоћу ЛЕН.

На пример, у низу „Нев Иорк“ укупан број знакова је 8, укључујући размак, а положај размака је 4. Дакле, 8-4 = 4 десно ће издвојити 4 знака с десне стране.

Сада, погледајте доњи код за вашу референцу.

Шифра:

 Суб Ригхт_Екампле3 () Дим к Ас Стринг Дим Л Ас Стринг Дим С Ас Стринг Л = Лен ("Мицхаел Цларке") С = ИнСтр (1, "Мицхаел Цларке", "") к = Ригхт ("Мицхаел Цларке", Л - С) МсгБок к Енд Суб 

У горњем коду променљива „Л“ вратиће 14, а променљива „С“ 8.

У ВБА десној формули применио сам Л - С, тј. 14-8 = 6. Дакле, са десне стране 6 знакова, тј. „Цларке“.

Петље са исправном функцијом у програму Екцел ВБА

Када треба да применимо функцију ВБА РИГХТ са много ћелија, морамо то да укључимо у петље. На пример, погледајте доњу слику.

Не можемо применити много редова кода за издвајање низа са десне стране. Дакле, морамо укључити петље. Доле наведени код ће то учинити за горе наведене податке.

Шифра:

 Суб Ригхт_Екампле4 () Дим к Ас Стринг Дим Л Ас Стринг Дим С Ас Стринг Дим А Ас Интегер Фор а = 2 То 5 Л = Лен (Целлс (а, 1) .Валуе) С = ИнСтр (1, Целлс (а, 1 ) .Валуе, "") Ћелије (а, 2) .Вредност = Десно (Ћелије (а, 1), Л - С) Следећа крајња под 

Резултат овог кода је следећи.