Nahradiť funkciu Excel VBA

Rovnako ako v Exceli, máme funkciu, kde môžeme nájsť a nahradiť každé slovo, znak alebo vetu akýmkoľvek písmenom. Týmto postupom však môžeme naraz nahradiť iba jeden druh vety alebo listu. Pomocou funkcie VBA Replace Function môžeme nahradiť toľko slov, písmen alebo viet ako jeden výstrel. To šetrí obrovský čas a úsilie vykonávaním jednej činnosti viackrát. Na tento účel použijeme funkciu Nahradiť, ktorá je súčasťou zabudovaného zoznamu funkcií VBA.

Pod syntaxou a argumentom funkcie Nahradiť vo VBA.

Ako používať funkciu Excel VBA Replace?

Naučíme sa, ako používať funkciu VBA Replace Excel s niekoľkými príkladmi.

Túto šablónu VBA Replace Excel si môžete stiahnuť tu - VBA Replace Excel Template

Funkcia nahradenia VBA - príklad č. 1

Máme ukážkové údaje o niektorých vetách, kde nahradíme jedno slovo a vložíme túto aktualizovanú vetu do stĺpca veta B.

Ak chcete použiť funkciu Nahradiť v programe Excel VBA, postupujte podľa nasledujúcich krokov.

Krok 1: Prejdite na VBA a na karte ponuky Vložiť vyberte modul.

Krok 2: Teraz napíšte podkategóriu do názvu vykonávanej funkcie alebo do ľubovoľného mena podľa vášho výberu, ako je uvedené nižšie.

kód:

 Sub VBA_Replace2 () End Sub 

Krok 3: Teraz definujte rozmer ako dlhý, pretože vyberieme celú vetu. Tu sme to vzali ako X.

kód:

 Sub VBA_Replace2 () Dim X ako Long End Sub 

Krok 4: Teraz v tomto Long X vyberte maximálny rozsah, do ktorého by naše dáta mohli stúpať. Tu sme vzali ako rozsah buniek A1000 a na to, aby sme stúpali, až kým naše dáta nezačnú, použite End (xlUp) nasledovaný bodkou (.). Čo znamená, že pôjdeme hore v tom istom stĺpci až do riadku, ktorý obsahuje údaje. Tento proces v živote Ctrl + šípka hore v Exceli.

kód:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row End Sub Sub 

Poznámka : Môžeme si vybrať z End (xlDown), ale ak dáta obsahujú, nemusí medzi dáta pridať medzeru ani prázdnu bunku.

Krok 5: Teraz znova definujte ešte jednu dimenziu Y, ako je uvedené nižšie.

kód:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y as Long End Sub 

Krok 6: Teraz spustite slučku For Next pre druhú definovanú dimenziu Y z polohy bunky 2 do rozsahu X (posledná vyplnená bunka)

Poznámka: Výber bunky 2 znamená, že tu nezohľadňujeme záhlavie kvôli nahradeniu.

kód:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long pre Y = 2 to X Next Y End Sub 

Krok 7: Teraz vyberte hodnotu stĺpca B ako rozsah ako Y a potom bodku (.). Je to ako vloženie funkcie do programu Excel.

kód:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long pre Y = 2 to X Range ("B" & Y). Hodnota = Next Y End Sub 

Krok 8: Teraz, ako sme videli vo VBA syntaxi funkcie Nahradiť vyššie, teraz napíšte Nahradiť a vyberte stĺpec A a Y ako prvý výraz reťazca, za ktorým nasledujú slová, ktoré musíme nahradiť z tabuľky.

kód:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long pre Y = 2 to X Range ("B" & Y). Hodnota = Replace (Range ("A") "& Y), " Delhi ", " New Delhi ") Ďalej Y End Sub 

Krok 9: Teraz zostavte kompletný kód a spustite ho. Keď to urobíme, slovo „Dillí“ zo vety A sa teraz nahradí slovom „Nové Dillí“ a celá veta sa skopíruje do vety V.

Môžeme zvoliť reťazec slov alebo vetu a nahradiť ho ľubovoľnými požadovanými písmenami alebo vetami.

Funkcia nahradenia VBA - príklad č. 2

Existuje aj iný spôsob, ako nahradiť slová alebo vety pomocou kódovania VBA. Na tento účel máme zoznam 7 predmetov, ktoré sa opakujú. A my musíme nahradiť tieto názvy predmetov pridaním sériových čísel pred každý názov predmetu, ako je uvedené nižšie.

Ako vidno na obrázku vyššie, stĺpec E má jedinečné názvy tých predmetov, ktoré sú v stĺpci B, a stĺpec F má názvy predmetov so sériovým číslom na začiatku.

Pri použití funkcie Nahradiť vo VBA postupujte podľa nasledujúcich krokov.

Krok 1: Teraz prejdite na VBA az ponuky Vložiť pridajte nový modul. Keď to dosiahneme, začnite písať podkategóriu v mene funkcie, ktorá sa vykonáva, ako je uvedené nižšie.

kód:

 Sub VBA_Replace () End Sub 

Krok 2: Teraz uvažujte dimenziu Rng ako Range, InputRng ako Range a ReplaceRng ako Range. Na definovanie rozsahov môžete zvoliť ľubovoľné ďalšie písmená alebo slová.

kód:

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

Krok 3: Teraz použite xTitleId ako dialógové okno a pomenujte ho. Tu sme to nazvali „ VBA_Replace “.

kód:

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

Krok 4: Teraz priraďte Application.Selection s InputRng, umožní to, aby sa vybraná aplikácia použila vo VBA.

kód:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection End Sub Sub 

Krok 5: Teraz do ďalšieho riadku vložte InputBox 3 typov, Original range, xTitleId a InputRng. Original Range je zoznam tých predmetov, ktoré je potrebné nahradiť, sú uvedené v stĺpci B. xTitledId je názov dialógového okna vo vykonanej funkcii. A InputRng je rozsah tabuľky údajov v stĺpcoch E a F.

kód:

 Sub VBA_Replace () Dim Rng ako Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) End Sub 

Krok 6: Teraz v ďalšom riadku priraďte vstup pre ReplaceRng a pre tento stĺpec Replace Range. Zvyšok toho istého.

kód:

 Sub VBA_Replace () Dim Rng ako Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Set ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) End Sub 

Krok 7: Teraz použijeme funkciu Application.Screenupdating, pretože názov hovorí, že sa používa na aktualizáciu, ak je FALSE.

kód:

 Sub VBA_Replace () Dim Rng ako Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Set ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False End Sub Sub 

Krok 8: Teraz vložte slučku For-Next . A pre každý rozsah Rng nahraďte hodnoty zo stĺpca ReplaceRng.

kód:

 Sub VBA_Replace () Dim Rng ako Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Set ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False for Rng In ReplaceRng.Columns (1) .Cells Next End Sub Sub 

Krok 9: Nakoniec nahraďte InputRng hodnotami prítomnými v Rng z celého hárku.

kód:

 Sub VBA_Replace () Dim Rng ako Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Set ReplaceRng = Application.InputBox ("Replace Range:", xTitleId, Type: = 8) Application.ScreenUpdating = False for Rng In ReplaceRng.Columns (1) .Cells InputRng.Replace what: = Rng.Value, Replacement: = Rng.Offset (0, 1) .Hodnota, Lookat: = xlWhole Next End Sub 

Krok 10: Po dokončení zostavte a spustite kód. Dostaneme a dialógové okno v mene VBA_Replace. Odtiaľ vyberte zoznam predmetov, ktoré musíme nahradiť ako Original Range a kliknite na OK. Potom dostaneme ďalšie pole a vyberte rozsah nahradenia od E2 po F8 . Táto tabuľka obsahuje údaje, ktoré je potrebné vymeniť a kliknite na OK.

Dáta získame v stĺpci B, ktoré budú nahradené údajmi v stĺpci F sériovým číslom.

Pre prehľad, stĺpec E má jedinečné názvy predmetov. A stĺpec F obsahuje názvy predmetov so sériovými číslami. Tým sa údaje v stĺpci B nahrádzajú údajmi v stĺpci F.

Výhody funkcie nahradenia VBA

  • Môžeme nahradiť niekoľko slov alebo viet naraz.
  • Neexistuje obmedzenie slov ani textu, ktoré nemôžeme nahradiť.
  • Syntax funkcie Nahradiť vo VBA je rovnako jednoduchá ako používanie funkcie SumIf v Exceli.
  • VBA Replace, ako je zobrazené v príklade 1, je najjednoduchším spôsobom použitia.

Čo je potrebné pamätať

  • Uložiť ako Marco povolený Excel, aby nedošlo k strate písaného kódu vo VBA.
  • Pri výbere dimenzií v kóde vždy uvažujte o dimenziách tak, že vytvorí pridanú hodnotu.
  • Uistite sa, že ste vybrali celú škálu hárkov, ako je to znázornené na príklade 2, ak je výsledok obmedzený. Alebo môžete definovať a vybrať obmedzený rozsah buniek, ktorý by sa použil v rámci funkcie Nahradiť.

Odporúčané články

Toto bol sprievodca funkciou VBA Replace Function. Tu sme diskutovali o VBA Replace a o tom, ako používať Excel VBA Replace Function spolu s praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Kompletné výukové programy o slučkách VBA
  2. Ako používať VBA na slučku?
  3. Čo je formát čísla VBA?
  4. Ako vytvoriť VBA MsgBox?

Kategórie: