Najít a nahradit Excel VBA
Už jste někdy přemýšleli o automatizaci funkce Najít a nahradit v Excelu. Ve VBA můžeme vytvořit makro, které lze použít k nalezení a nahrazení všeho, co normálně děláme v Excelu stisknutím klávesových zkratek Ctrl + H. S pomocí VBA Find and Replace můžeme automatizovat nalezení libovolného slova a nahradit ho jiným nahrazením. To pomáhá, když potřebujeme provést stejnou činnost vícekrát.
Jak najít a nahradit slova v Excelu VBA?
Níže jsou uvedeny různé příklady, jak najít a nahradit slova ve formátu Excel pomocí kódu VBA.
Tuto VBA verzi Najít a nahradit Excel šablony si můžete stáhnout zde - VBA Najít a nahradit Excel šablonuNajít a nahradit VBA - Příklad č. 1
Ve velmi jednoduchém příkladu máme datovou sadu, která se skládá z nějakého jména. A některá jména se opakují, jak je ukázáno níže.
Nyní vytvoříme kód, pomocí kterého najdeme některá ze jmen, která se opakují a nahrazují něčím jiným. Postupujte podle následujících kroků.
Krok 1: V VBA přejděte do nabídky Vložit a vyberte možnost modulu, jak je ukázáno níže.
Krok 2: Jakmile to uděláme, otevřeme nový modul. V tomto modulu zadejte podkategorii do názvu Najít a nahradit VBA nebo si můžete vybrat libovolný název této podkategorie.
Kód:
Sub Find_Replace1 () End Sub
Krok 3: Protože máme data ve sloupci B od buňky B2 do B10, vybereme tento rozsah nejprve z B2: B10.
Kód:
Sub Find_Replace1 () Range ("B2: B10"). Vyměňte End Sub
Krok 4: Nyní, abychom nahradili něco, co musíme hledat, to slovo. Zde také nejprve vybereme funkci Nahradit, abychom se podívali na to, co musíme nahradit.
Kód:
Sub Find_Replace1 () Range ("B2: B10"). Vyměňte End Sub
Podle syntaxe funkce Nahradit najdeme to, co musíme nahradit.
Krok 5: Vybereme jako jméno, které musíme nahradit, křestní jméno v seznamu „ Ben “.
Kód:
Rozsah Sub Find_Replace1 () ("B2: B10"). Nahraďte Co: = "Ben" End Sub
Krok 6: Nyní vyberte náhradní slovo, kterým musíme nahradit vybrané slovo. Zde jsme se rozhodli nahradit jméno Ben Samem, který je uveden jako Výměna, jak je ukázáno níže.
Kód:
Sub Find_Replace1 () Range ("B2: B10"). Nahraďte Co: = "Ben", Nahrazení: = "Sam" End Sub
Krok 7: Nyní zkompilujte kód a spusťte jej kliknutím na tlačítko Přehrát nebo stisknutím klávesy F5, jak je ukázáno níže.
Uvidíme, všechny buňky obsahující jméno jako Ben jsou nyní nahrazeny jménem Sam . A to je také zvýrazněno žlutou barvou.
Najít a nahradit VBA - Příklad č. 2
Všichni jsme mohli čelit situaci, kdy jsme se pokusili najít a nahradit některá slova malými a velkými písmeny. Předpokládejme v seznamu, pokud chceme nahradit pouze slovo, které má malá nebo velká písmena. A pokud použijeme proces, který jsme viděli v příkladu 1, nakonec bychom nahradili všechna podobná slova v tomto seznamu spolu s požadovaným. Tento proces nelze provést pomocí funkce Najít a nahradit (Ctrl + H) Excelu. Za tímto účelem máme rezervu ve VBA.
Uvažujme níže uvedené údaje. Jak vidíme, v buňce B2 jsme záměrně přidali slovo BEN velkými písmeny.
Podle níže uvedených kroků vyhledejte a nahraďte slovo BEN.
Krok 1: Spusťte podkategorii Najít a nahradit VBA tam, jak je ukázáno níže.
Kód:
Sub Find_Replace2 () End Sub
Krok 2: Vyberte seznam jako rozsah od B2 do B10.
Kód:
Sub Find_Replace2 () Range ("B2: B10") End Sub
Krok 3: Nyní vyberte přesné slovo, které chceme nahradit. Zde jsme vybrali BEN, který je v buňce B2.
Kód:
Sub Find_Replace2 () Range ("B2: B10"). Nahraďte Co: = "BEN" End Sub
Krok 4: Znovu jsme vybrali stejné slovo, jaké jsme viděli v příkladu 1 jako náhradu BEN jako Sam .
Kód:
Sub Find_Replace2 () Range ("B2: B10"). Nahraďte Co: = "BEN", Replacement: = "Sam" End Sub
Krok 5: Nyní pro nahrazení přesného slova BEN, musíme použít MatchCase, pokud se stane PRAVDA, jak je ukázáno níže.
Kód:
Sub Find_Replace2 () Range ("B2: B10"). Nahradit Co: = "BEN", Nahrazení: = "Sam", MatchCase: = True End Sub
MatchCase nám pomůže při identifikaci toho slova, které chceme nahradit přesnou shodou. Zde je slovo, které jsme vybrali, velkým písmenem BEN a seznam obsahuje i jiná podobná slova, ale ve správném případě.
Krok 6: Nyní spusťte kód kliknutím na tlačítko Přehrát nebo stisknutím klávesy F5.
Uvidíme, slovo BEN, které bylo v buňce B2, je nyní nahrazeno slovem „ Sam “, zvýrazněným žlutou barvou. A podobná slova Ben, která jsou umístěna v buňkách B5 a B8, se stále nemění.
Takto funguje přesná shoda.
Krok 7: Nyní odebereme přidanou MatchCase z výše uvedeného kódu a uvidíme, jak by to fungovalo.
Kód:
Sub Find_Replace2 () Range ("B2: B10"). Nahraďte Co: = "BEN", Replacement: = "Sam", MatchCase: = True End Sub
Krok 8: Znovu sestavte a spusťte kód.
Uvidíme, že kód nahradil všechny buňky obsahující slovo Ben, jak je ukázáno výše. Což znamená, že po odstranění MatchCase bude kód fungovat, jak jsme viděli v příkladu 1.
Výhody Excel VBA Najít a nahradit
- Hlavní učení je, že slova a buněčný obsah rozlišující malá a velká písmena můžeme nahradit pomocí VBA najít a nahradit, jak je ukázáno v příkladu-2.
- Pokud je aktivita ručně a vícekrát opakována, pak by automatizace byla výhodou při úspoře času i úsilí.
- I když máme obrovskou sadu dat, kde chceme nahradit konkrétní slova, lze to udělat, aniž by došlo k pádu Excelu v objemných souborech.
Co si pamatovat
- Pomocí funkce Záznam makra na kartě Vývojář můžeme vytvořit makro funkce Najít a nahradit. Toto je nejjednodušší způsob, jak vytvořit makro, pokud jste v kódování nováčkem.
- Uložení souboru v makru Enable excel format umožní, aby se kód v budoucnu používal.
- Můžeme nahradit jakýkoli druh textu, slova, čísla nebo znaku pomocí VBA Find and Replace.
Doporučené články
Toto je průvodce vyhledáním a nahrazením VBA. Zde diskutujeme o tom, jak najít a nahradit slova v Excelu pomocí VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -
- VBA Break for Loop
- VYMĚNIT Vzorec v Excelu
- Kompletní průvodce Najít VBA
- Najít funkci v Excelu