Funkce nahrazení Excel VBA

Stejně jako v Excelu máme funkci, kde můžeme najít a nahradit každé slovo, znak nebo větu jakýmkoli písmenem. Tímto postupem však můžeme najednou nahradit pouze jeden druh věty nebo dopisu. Pomocí funkce VBA Replace Function můžeme nahradit tolik slov, písmen nebo vět v jediném výstřelu. To šetří obrovský čas a úsilí při provádění jedné činnosti vícekrát. K tomu použijeme funkci Nahradit, která je součástí zabudovaného seznamu funkcí VBA.

Pod syntaxí a argumentem funkce Nahradit ve VBA.

Jak používat funkci Excel VBA Replace?

Naučíme se, jak používat funkci VBA Replace Excel s několika příklady.

Tuto šablonu VBA Replace Excel si můžete stáhnout zde - VBA Replace Excel Template

Funkce nahrazení VBA - Příklad č. 1

Máme ukázkové údaje o některých větách, kde nahradíme jedno slovo a vložíme tuto aktualizovanou větu do sloupce věty B.

Chcete-li použít funkci Nahradit v aplikaci Excel VBA, postupujte podle následujících kroků.

Krok 1: Přejděte na VBA a na kartě nabídky Vložit vyberte modul.

Krok 2: Nyní napište podkategorii do názvu prováděné funkce nebo do jakéhokoli jména podle vašeho výběru, jak je ukázáno níže.

Kód:

 Sub VBA_Replace2 () End Sub 

Krok 3: Nyní definujte kótu jako dlouhou, protože vybereme celou větu. Zde jsme to vzali jako X.

Kód:

 Sub VBA_Replace2 () Dim X jako Long End Sub 

Krok 4: Nyní v tomto dlouhém X vyberte maximální rozsah, do kterého by naše data mohla jít nahoru. Zde jsme použili rozsah buněk A1000 a pro stoupání, dokud naše data nezačnou používat End (xlUp) následovaný tečkou (.) Row. Což znamená, že se budeme pohybovat ve stejném sloupci až do řádku, který obsahuje data. Tento proces v životě Ctrl + Šipka nahoru v Excelu.

Kód:

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

Poznámka : Můžeme vybrat z End (xlDown), ale pokud data obsahují, nemusí mezi data přidat žádné přerušení nebo prázdnou buňku.

Krok 5: Nyní znovu definujte ještě jednu dimenzi Y, jak je uvedeno níže.

Kód:

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

Krok 6: Nyní spusťte smyčku For Next pro druhou definovanou dimenzi Y z pozice buňky 2 do rozsahu X (poslední vyplněná buňka)

Poznámka: Výběr buňky 2 znamená, že zde nezvažujeme záhlaví pro nahrazení.

Kód:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long pro Y = 2 až X Next Y End Sub 

Krok 7: Nyní vyberte hodnotu sloupce B jako rozsah jako Y následovaný tečkou (.) Je to jako vložení funkce do Excelu.

Kód:

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

Krok 8: Nyní, jak jsme viděli ve VBA syntaxi funkce Nahradit výše, nyní zadejte Nahradit a vyberte sloupec A a Y jako první výraz řetězce následovaný slovy, která musíme nahradit z tabulky.

Kód:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long pro Y = 2 to X Range ("B" & Y) .Value = Replace (Range ("A") "& Y), " Delhi ", " New Delhi ") Další Y End Sub 

Krok 9: Nyní zkompilujte celý kód a spusťte jej. Jakmile to uděláme, slovo „Dillí“ ze věty A se nyní nahradí prací „Nové Dillí“ a celá věta se zkopíruje do věty B.

Můžeme vybrat řetězec slov nebo větu a nahradit ji libovolnými požadovanými písmeny nebo větou.

Funkce nahrazení VBA - Příklad č. 2

Existuje další způsob, jak nahradit slova nebo věty pomocí kódování VBA. K tomu máme seznam 7 předmětů, které se opakují. A my musíme nahradit tyto názvy předmětů přidáním sériových čísel před každý název subjektu, jak je uvedeno níže.

Jak je vidět na výše uvedeném snímku obrazovky, sloupec E má jedinečný název těch subjektů, které jsou ve sloupci B, a sloupec F má názvy předmětů se sériovým číslem na začátku.

Chcete-li použít funkci Nahradit ve VBA, postupujte podle následujících kroků.

Krok 1: Nyní přejděte na VBA az nabídky Vložit přidejte nový modul. Jakmile to dostaneme, začněte psát podkategorii jménem funkce, která se provádí, jak je ukázáno níže.

Kód:

 Sub VBA_Replace () End Sub 

Krok 2: Nyní považujte kótu Rng za Range, InputRng jako Range a ReplaceRng jako Range. Pro definování rozsahů můžete zvolit libovolná další písmena nebo slova.

Kód:

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

Krok 3: Nyní použijte xTitleId jako dialogové okno a pojmenujte jej. Zde jsme 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: Nyní přiřaďte Application.Selection s InputRng, umožní to, aby se vybraná aplikace použila ve 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: Nyní do dalšího řádku vložte InputBox 3 typů, Original range, xTitleId a InputRng. Původní rozsah je seznam těch předmětů, které je třeba nahradit, uvedených ve sloupci B. xTitledId je názvy dialogových oken v prováděné funkci. A InputRng je řada datových tabulek ve sloupcích E a F.

Kód:

 Sub VBA_Replace () Dim Rng jako Range Dim InputRng jako 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: Nyní v dalším řádku přiřaďte Input pro ReplaceRng a pro tento sloupec Replace Range. Zbytek stejně.

Kód:

 Sub VBA_Replace () Dim Rng jako Range Dim InputRng jako 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: Nyní použijeme funkci Application.Screenupdating, protože název říká, že se používá pro aktualizaci, pokud je FALSE.

Kód:

 Sub VBA_Replace () Dim Rng jako Range Dim InputRng jako 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 

Krok 8: Nyní vložte smyčku For-Next . A pro každý rozsah Rng nahraďte hodnoty ze sloupce ReplaceRng.

Kód:

 Sub VBA_Replace () Dim Rng jako Range Dim InputRng jako 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 pro každý Rng In ReplaceRng.Columns (1) .Cells Next End Sub Sub 

Krok 9: Nakonec nahraďte InputRng hodnotami přítomnými v Rng z celého listu.

Kód:

 Sub VBA_Replace () Dim Rng jako Range Dim InputRng jako 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 pro každý Rng In ReplaceRng.Columns (1) .Cells InputRng.Replace what: = Rng.Value, Replacement: = Rng.Offset (0, 1) .Hodnota, Lookat: = xlWhole Next End Sub 

Krok 10: Jakmile je hotovo, zkompilujte a spusťte kód. Dostaneme dialogové okno s názvem VBA_Replace. Odtud vyberte seznam předmětů, které musíme nahradit jako původní rozsah, a klikněte na OK. Pak odtud dostaneme další pole, vyberte Replace range from E2 to F8 . Tato tabulka obsahuje údaje, které je třeba nahradit, a klikněte na OK.

Získáme Data ve sloupci B, které budou nahrazeny z dat ve sloupci F sériovým číslem.

Pro přehled je sloupec E jedinečný název předmětu. A sloupec F má názvy předmětů se sériovými čísly. Tímto se data ve sloupci B nahrazují údaji ve sloupci F.

Výhody funkce nahrazení VBA

  • Můžeme nahradit více slov nebo vět v jediném výstřelu.
  • Neexistuje žádné omezení slov nebo textu, které nemůžeme nahradit.
  • Syntaxe Replace ve VBA je stejně snadná jako použití funkce SumIf v Excelu.
  • VBA Replace, jak je ukázáno v příkladu 1, je nejsnadnějším způsobem použití.

Co si pamatovat

  • Uložit jako Marco povoleno Excel, aby nedošlo ke ztrátě psaného kódu ve VBA.
  • Vždy uvažujte dimenze takovým způsobem, že vytvoří hodnotu s přidanou hodnotou, zatímco vybereme ty v kódu.
  • Ujistěte se, že jste vybrali celou řadu listů, jak je uvedeno v příkladu 2, pokud je výsledek omezen. Nebo můžete definovat a vybrat omezený rozsah buněk, který bude použit ve funkci Nahradit.

Doporučené články

Toto byl průvodce funkcí VBA Replace Function. Zde jsme diskutovali VBA Replace a jak používat Excel VBA Replace Function spolu s praktickými příklady a stahovatelnou Excel šablonou. Můžete si také prohlédnout naše další doporučené články -

  1. Kompletní výukové programy o smyčkách VBA
  2. Jak používat VBA do smyčky?
  3. Co je formát čísla VBA?
  4. Jak vytvořit VBA MsgBox?

Kategorie: