ВБА СубСтринг | Како издвојити подниз користећи ВБА функције?
Екцел ВБА подниз
СубСтринг је део низа или дела или се карактер низа назива „СубСтринг“. Постоје три врсте функција подниза у ВБА ЛЕФТ, РИГХТ и МИД, сличне су поднизима радног листа у екцелу.
Низ није ништа друго до низ знакова, а знакови могу бити абецеда, бројеви, посебни знакови, а такође могу комбиновати све ове знакове.
Често пута у Екцелу када радимо са подацима који су низови требају нам само део низа да би нам олакшали сврху. Можда нам неће бити потребан цео низ, али нам је потребан само део низа. На пример, ако имате име „Сацхин Тендулкар“, можда ће вам требати само први део имена, тј. Само „Сацхин“. Ово се назива подниз у низу у програму Екцел ВБА. Да бисмо се бавили овим жицама, имамо уграђене функције у оквиру функције ТЕКСТ у категорији екцел.
У овом чланку ћемо разговарати о томе како добити подниз из целог низа у ВБА.
Како се користе функције поднизања у ВБА?
Да бисмо издвојили подниз из низа, имамо неке уграђене текстуалне функције, а неке од важних функција су ЛЕВО, ДЕСНО, ИНСТР и МИД у екцелу. Функција Инстр служиће као помоћна функција за остале три функције.
Видећемо како да користимо ове функције за практично издвајање поднизова. Прочитајте примере у наставку да бисте их разумели.
Овде можете преузети овај ВБА СубСтринг Екцел образац - ВБА СубСтринг Екцел ТемплатеПример # 1 - Коришћење леве функције
Ако имате пуно име као „Сацхин Тендулкар“ и треба вам само прво име да се извуче јер подниз користи следећи код да би добио исто.
Корак 1: Направите име макронаредбе и дефинишите две променљиве као Стринг.
Шифра:
Суб СубСтринг_Екампле1 () Дим ФуллНаме Ас Стринг Дим ФирстНаме Ас Стринг Енд Суб
Корак 2: Сада променљивој доделите име „Сацхин Тендулкар“ Пуно име.
Шифра:
Суб СубСтринг_Екампле1 () Дим ФуллНаме Ас Стринг Дим ФирстНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" Енд Суб
Корак 3: Сада променљива Пуно име држе вредност „Сацхин Тендулкар“. Сада из пуног имена морамо да издвојимо екцел ВБА подниз. Дакле, доделите вредност променљивој Име преко функције ЛЕВО.
Шифра:
Суб СубСтринг_Екампле1 () Дим ФуллНаме Ас Стринг Дим ФирстНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ФирстНаме = Лефт (Енд Суб
Корак 4: ВБА Први аргумент функције ЛЕВО је Низ, то је оно што је пуна вредност или пуни низ. У овом примеру, наша пуна вредност или низ је „Сацхин Тендулкар“ који је додељен променљивој Пуно име.
Дакле, варијабла понуде Пуно име као аргумент.
Шифра:
Суб СубСтринг_Екампле1 () Дим ФуллНаме Ас Стринг Дим ФирстНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ФирстНаме = Лефт Енд Суб
Корак 5: Следећи аргумент је колико знакова нам треба из низа који смо навели, тако да нам је у овом случају потребно име “Сацхин”Толико нам је потребно 6 знакова са леве стране.
Шифра:
Суб СубСтринг_Екампле1 () Дим ФуллНаме Ас Стринг Дим ФирстНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ФирстНаме = Лефт (ФуллНаме, 6) Енд Суб
Корак 6: Сада резултат прикажите у оквиру за поруке у ВБА.
Шифра:
Суб СубСтринг_Екампле1 () Дим ФуллНаме Ас Стринг Дим ФирстНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ФирстНаме = Лефт (ФуллНаме, 6) МсгБок ФирстНаме Енд Суб
Корак 7: Покрените макронаредбу, видите име као подниз у оквиру за поруке.
Пример # 2 - Набавите СубСтринг с десне стране
Као што смо издвојили подниз са леве стране, слично можемо издвојити и са десне стране. Узмимо за пример исто име.
Корак 1: Дефинишите две променљиве као Стринг.
Шифра:
Суб СубСтринг_Екампле2 () Дим ФуллНаме Ас Стринг Дим ЛастНаме Ас Стринг Енд Суб
Корак 2: Као и обично, променљивој доделите вредност Пуно име као „Сацхин Тендулкар“
Шифра:
Суб СубСтринг_Екампле2 () Дим ФуллНаме Ас Стринг Дим ЛастНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" Енд Суб
Корак 3: Сада за променљиву Презиме доделити вредност кроз РИГХТ екцел функцију.
Шифра:
Суб СубСтринг_Екампле2 () Дим ФуллНаме Ас Стринг Дим ЛастНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ЛастНаме = Ригхт (Енд Суб
Корак 4: Стринг је наш Пуно име па наведите променљиву.
Шифра:
Суб СубСтринг_Екампле2 () Дим ФуллНаме Ас Стринг Дим ЛастНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ЛастНаме = Ригхт (ФуллНаме, Енд Суб
Корак 5: Дужина је колико знакова нам треба са десне стране 9 знакова са десне стране.
Шифра:
Суб СубСтринг_Екампле2 () Дим ФуллНаме Ас Стринг Дим ЛастНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ЛастНаме = Ригхт (ФуллНаме, 9) Енд Суб
Корак 6: Прикажите ову вредност у оквир за поруке.
Шифра:
Суб СубСтринг_Екампле2 () Дим ФуллНаме Ас Стринг Дим ЛастНаме Ас Стринг ФуллНаме = "Сацхин Тендулкар" ЛастНаме = Ригхт (ФуллНаме, 9) МсгБок ЛастНаме Енд Суб
Корак 7: Покрените макронаредбу видећемо презиме у оквиру за поруку.
Пример # 3 - Коришћење функције Инстр
У горњим примерима имали смо само једно име и директно смо навели колико знакова нам је потребно лево и десно. Али у случају да многа имена карактера имена и презимена нису иста, разликоваће се од имена до имена. У тим случајевима не можемо директно доставити број знакова како бисмо могли да користимо функцију Инстр.
Инстр функција ће вратити испоручени положај знака у низу. За пример погледајте доњи код.
Шифра:
Суб СубСтринг_Екампле3 () Затамни положај као положај низа = ИнСтр (1, "Сацхин", "а") МсгБок Поситион Енд Суб
ИнСтр (1, „Сацхин“, „а“) ово ће идентификовати положај писма „А“ као прво појављивање у низу „Сацхин“. У овом случају писмо „А“ је на другој позицији. Тако ћемо добити 2 као резултат у оквиру за поруку.
Овако, можемо користити тхе Инстр функција за проналажење размака између имена и презимена.
За пример погледајте доње име које имам у екцел листу.
Користећи ЛИЈЕВО, ДЕСНО и Инстр функција можемо издвојити поднизове. Испод је код за издвајање Имена.
Шифра:
Суб ФирстНаме () Дим К ас Лонг Дим ЛР Ас Лонг ЛР = Ћелије (Редови.број, 1). Крај (кИУп). Ред за К = 2 До ЛР Ћелија (К, 2) .Вредност = Лево (Ћелије (К, 1) .Валуе, ИнСтр (1, Ћелије (К, 1) .Валуе, "") - 1) Следећи К Крај Суб
Покрените макронаредбу и у пољу за поруке видите име као подниз.
Користите доњи код за издвајање презимена као подниза.
Шифра:
Суб ЛастНаме () Дим К ас Лонг Дим ЛР Ас Лонг ЛР = Ћелије (Редови.број, 1). Крај (кИУп). Ред за К = 2 До ЛР Ћелија (К, 3) .Вредност = Десно (Ћелије (К, 1) .Валуе, Лен (Ћелије (К, 1)) - ИнСтр (1, Ћелије (К, 1) .Вредност, "")) Следећа К Крај Суб
Покрените макро и видећемо презиме у оквиру за поруку.
Дугме макро сам доделио радном листу, преузмем радну свеску и користим их.