Excel VBA Замени функция

Както в Excel, ние имаме функция, при която можем да намерим и заменим всяка дума или символ или изречение с всяка буква. Но чрез този процес можем да заменим само един вид изречение или буква в даден момент. С помощта на VBA Replace Function можем да заменим колкото се може повече думи или букви или изречения в един кадър. Това спестява огромно време и усилия, извършвайки единична дейност многократно. За това ще използваме функцията Replace, която е във вградения списък с функции на VBA.

По-долу синтаксиса и аргумента на функцията Replace във VBA.

Как да използвате Excel VBA функция за замяна?

Ще научим как да използваме функция VBA Replace Excel с няколко примера.

Можете да изтеглите този VBA Replace Excel шаблон тук - VBA Replace Excel шаблон

VBA функция за замяна - пример №1

Имаме примерни данни на някои изречения, където ще заменим една дума и ще поставим това актуализирано изречение в колона на изречение Б.

Следвайте стъпките по-долу, за да използвате функцията замяна в Excel VBA.

Стъпка 1: Отидете на VBA и в раздел Вмъкване на меню изберете Модул.

Стъпка 2: Сега напишете подкатегория в името на изпълнена функция или в което и да е име според вашия избор, както е показано по-долу.

Код:

 Sub VBA_Replace2 () Край Sub 

Стъпка 3: Сега определете измерение като Дълго, тъй като ние ще избираме цяло изречение. Тук сме го приели като X.

Код:

 Sub VBA_Replace2 () Dim X като Long End Sub 

Стъпка 4: Сега в този Long X изберете максималния диапазон до мястото, където нашите данни могат да отидат. Тук сме приели като обхват на клетките на A1000 и за продължаване, докато нашите данни не започнат да използват End (xlUp), последван от точка (.) Ред. Което означава, че ще се движим нагоре в същата колона до този ред, в който има данни. Този процес в живота Ctrl + клавиш със стрелка нагоре в excel.

Код:

 Под VBA_Replace2 () Dim X As Long X = обхват („A1000“). Край (xlUp) .Row End Sub 

Забележка : Можем да изберем от End (xlDown), но може да не добавим разкъсване или празна клетка между данните, ако има данни.

Стъпка 5: Сега отново определете още едно измерение Y толкова дълго, колкото е показано по-долу.

Код:

 Sub VBA_Replace2 () Dim X As Long X = обхват („A1000“). Край (xlUp) .Row Dim Y като Long End Sub 

Стъпка 6: Сега стартирайте цикъл For Next за второ дефинирано измерение Y от позиция 2 на клетката до обхват X (последна запълнена клетка)

Забележка: Избирането на клетка 2 означава, че ние не обмисляме заглавката тук за замяна.

Код:

 Под VBA_Replace2 () Dim X като дълъг X = обхват ("A1000"). Край (xlUp). Рязко дим Y като дълъг за Y = 2 до X следващ край край 

Стъпка 7: Сега изберете Стойността на колона B като диапазон като Y, последвана от точка (.), Това е като вмъкване на функция в excel.

Код:

 Под VBA_Replace2 () Dim X като дълъг X = обхват ("A1000"). Край (xlUp). 

Стъпка 8: Сега, както видяхме във VBA синтаксиса на функцията Replace по-горе, въведете Replace и изберете колона A и Y като първи израз на низ, последван от думите, които трябва да заменим от таблицата.

Код:

 Под VBA_Replace2 () Dim X като дълъг X = обхват ("A1000"). Край (xlUp). Row Dim Y като дълъг за Y = 2 до диапазон X ("B" & Y). "& Y), " Delhi ", " New Delhi ") Следващ Y End Sub 

Стъпка 9: Сега компилирайте целия код и стартирайте. След като направим това, думата „Делхи” от изречение А сега се заменя с работа „Ню Делхи” и цялото изречение се копира в изречение Б.

Можем да изберем низ от думи или изречение и да го заменим с всички необходими букви или изречение.

VBA функция за замяна - пример №2

Има и друг начин да замените думи или изречения с помощта на кодиране на VBA. За целта имаме списък от 7 теми, които се повтарят. И трябва да заменим тези имена на теми с добавяне на серийни номера преди всяко име на тема, както е показано по-долу.

Както можем да видим на горния екран, колона Е има уникални имена на тези обекти, които са в колона Б, а колона F има имената на предметите със сериен номер в началото на нея.

Следвайте стъпките по-долу, за да използвате функцията за замяна в VBA.

Стъпка 1: Сега отидете на VBA и от менюто Вмъкнете добавете нов модул. След като го получим, започнете да пишете подкатегорията в името на функция, която се изпълнява, както е показано по-долу.

Код:

 Sub VBA_Replace () Край Sub 

Стъпка 2: Сега помислете за измерение Rng като диапазон, InputRng като диапазон и ReplaceRng като диапазон. Можете да изберете всякакви други букви или думи за определяне на диапазони.

Код:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range End Sub 

Стъпка 3: Сега използвайте xTitleId като диалогов прозорец и му дайте име. Тук сме го нарекли „ VBA_Replace “.

Код:

 Под VBA_Replace () Dim Rng като диапазон Dim InputRng като диапазон, ReplaceRng като диапазон xTitleId = „VBA_Replace“ Край Sub 

Стъпка 4: Сега задайте Application.Selection с InputRng, това ще даде възможност на избраното приложение да се използва в VBA.

Код:

 Под VBA_Replace () Dim Rng като диапазон Dim InputRng като диапазон, ReplaceRng като диапазон xTitleId = „VBA_Replace“ Set InputRng = Application.Selection End Sub 

Стъпка 5: Сега в следващия ред поставете InputBox от 3 вида, Original range, xTitleId и InputRng. Оригинален диапазон е списък на тези теми, които са необходими, за да бъде заменен, посочен в колона Б. xTitledId е имената на диалоговия прозорец в изпълняваната функция. И InputRng е диапазон от таблици с данни в колони E и F.

Код:

 Под VBA_Replace () Dim Rng като диапазон Dim InputRng като диапазон, ReplaceRng като диапазон xTitleId = „VBA_Replace“ Set InputRng = Application.Selection Set InputRng = Application.InputBox („Оригинален диапазон“, xTitleId, InputRng.Address, Type: = 8) Край Sub 

Стъпка 6: Сега в следващия ред задайте Input for ReplaceRng и за това изберете колоната Replace Range. Останалото като същото.

Код:

 Под VBA_Replace () Dim Rng като диапазон Dim InputRng като диапазон, ReplaceRng като диапазон xTitleId = „VBA_Replace“ Set InputRng = Application.Selection Set InputRng = Application.InputBox („Оригинален диапазон“, xTitleId, InputRng.Address, Type: = 8) Задайте ReplaceRng = Application.InputBox ("Сменете обхвата:", xTitleId, Тип: = 8) Край Sub 

Стъпка 7: Сега ще използваме Application.Screenupdating функция, тъй като името казва, че се използва за актуализиране, ако е FALSE.

Код:

 Под VBA_Replace () Dim Rng като диапазон Dim InputRng като диапазон, ReplaceRng като диапазон xTitleId = „VBA_Replace“ Set InputRng = Application.Selection Set InputRng = Application.InputBox („Оригинален диапазон“, xTitleId, InputRng.Address, Type: = 8) Задайте ReplaceRng = Application.InputBox ("Сменете обхвата:", xTitleId, Тип: = 8) Application.ScreenUpdating = False End Sub 

Стъпка 8: Сега поставете контур For-Next . И за всеки диапазон Rng заменете стойностите от колоната ReplaceRng.

Код:

 Под VBA_Replace () Dim Rng като диапазон Dim InputRng като диапазон, ReplaceRng като диапазон xTitleId = „VBA_Replace“ Set InputRng = Application.Selection Set InputRng = Application.InputBox („Оригинален диапазон“, xTitleId, InputRng.Address, Type: = 8) Задайте ReplaceRng = Application.InputBox ("Замени диапазона:", xTitleId, Тип: = 8) Application.ScreenUpdating = Грешно за всеки Rng в ReplaceRng.Columns (1) .Cells Next End Sub 

Стъпка 9: Най-сетне заменете InputRng със стойностите, присъстващи в Rng от целия лист.

Код:

 Под VBA_Replace () Dim Rng като диапазон Dim InputRng като диапазон, ReplaceRng като диапазон xTitleId = „VBA_Replace“ Set InputRng = Application.Selection Set InputRng = Application.InputBox („Оригинален диапазон“, xTitleId, InputRng.Address, Type: = 8) Задайте ReplaceRng = Application.InputBox ("Замени диапазона:", xTitleId, Тип: = 8) Application.ScreenUpdating = Грешно за всеки Rng в ReplaceRng.Columns (1) .Cells InputRng.Replace what: = Rng.Value, substitution: = Rng.Offset (0, 1) .Value, Lookat: = xlWhole Next End Sub 

Стъпка 10: След като сте готови, сега компилирайте и стартирайте кода. Ще получим и диалогов прозорец на името на VBA_Replace. От тук изберете списъка с теми, които трябва да заменим като оригинален диапазон и щракнете върху OK. Тогава ще вземем друга кутия от там, изберете диапазона на замяна от E2 до F8 . Тази таблица съдържа данните, които трябва да бъдат заменени и щракнете върху OK.

Ще получим Данни в колона Б, която ще бъде заменена от данните в колона F със сериен номер.

За преглед, колона E има уникални имена на теми. И колона F има имена на теми със серийни номера. Така че от тези данни в колона B се заменя с данни в колона F.

Плюсове на функцията за смяна на VBA

  • Можем да заменим няколко думи или изречения в един кадър.
  • Няма ограничение от думи или текст, с което не можем да заменим.
  • Синтаксисът на Replace във VBA е толкова лесен, колкото използването на SumIf функция в excel.
  • VBA Замяна, както е показано в пример-1, е най-лесният начин за кандидатстване.

Неща, които трябва да запомните

  • Запазете като Marco Enabled Excel, за да избегнете загуба на писмен код във VBA.
  • Винаги обмисляйте размерите по такъв начин, че да създадат добавена стойност, докато избираме тези в код.
  • Уверете се, че сте избрали цялата гама от листа, както е показано в пример-2, ако тя е ограничена, за да получите резултат. Или иначе можете да дефинирате и изберете ограничен диапазон от клетки, който ще се използва във функцията замяна.

Препоръчителни статии

Това е ръководство за функцията за смяна на VBA. Тук обсъдихме VBA Replace и как да използваме Excel VBA Replace Function, заедно с практически примери и свалящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. Попълнете уроци по VBA контури
  2. Как да използвате VBA Do while Loop?
  3. Какво е формат на VBA номера?
  4. Как да създадете VBA MsgBox?

Категория: