VBA pro každou buňku v rozsahu v aplikaci Excel (3 metody)

  • Sdílet Toto
Hugh West

Ve velkých databázích trávíte většinu času prací s rozsahy a buňkami. Někdy musíte opakovat stejnou akci ve velkých rozsazích nebo velkém počtu buněk. To zároveň zabíjí váš čas a snižuje efektivitu. Chytrým řešením tohoto problému je vytvoření tzv. Programovací kód VBA který projde každou buňku v rozsahu a provede stejnou akci podle vašeho pokynu. Dnes v tomto článku probereme, jak provést VBA pro každou buňku v rozsahu v aplikaci Excel.

Stáhnout cvičebnici

Stáhněte si tento cvičební sešit a procvičte si tento úkol při čtení tohoto článku.

Kód VBA pro každou buňku v rozsahu v aplikaci Excel.xlsx

3 vhodné způsoby použití VBA pro každou buňku v rozsahu v aplikaci Excel

Pomocí kódu VBA můžete provést stejný vzorec pro každou buňku v rozsahu nebo sloupci či řádku. V této části projdeme všechny části.

1. Použijte VBA pro každou buňku v rozsahu

Vezměme si situaci, kdy je třeba použít stejný kód VBA pro každou buňku v daném rozsahu ( B3:F12 ). Za tímto účelem vytvoříme kód VBA. Pokyny jsou uvedeny níže.

Krok 1:

  • Nejprve vložíme příkazové tlačítko, abychom si zjednodušili práci. Přejděte do svého účtu. Karta Vývojář , vyberte Vložte , a klikněte na příkazové tlačítko, abyste jej získali.

  • Máme své příkazové tlačítko.

  • Klepnutím pravým tlačítkem myši na příkazové tlačítko otevřete možnosti. Vyberte a klepněte na položku Vlastnosti upravit některé možnosti.

  • Změňte titulek příkazového tlačítka. Zde změníme název na: " Klikněte zde ".

Krok 2:

  • Nyní dvakrát klikněte na příkazové tlačítko, abyste otevřeli VBA. Modul . Zde zapíšeme náš kód VBA pro tuto úlohu.

  • Nejprve deklarujeme dvě proměnné. Objekty nazveme range. CL a Rng . Můžete si je pojmenovat, jak chcete.
 Dim CL As Range Dim Rng As Range 

  • Tímto příkazem přiřadíte konkrétní rozsah,

Set Rng = Worksheets("VBA1").Range("B3:F12")

  • Zde VBA1 je název našeho pracovního listu a B3:F12 je náš definovaný rozsah.

  • Nyní použijeme kód pro provedení každé buňky v rozsahu. Kód je následující,
 Pro každou CL v Rng CL.Value = 100 Další CL 
  • Hodnota = 100 odkazuje na to, že se vrátí 100 pro každou buňku v daném rozsahu.

  • Náš konečný kód tedy bude,
 Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub 
  • Přejděte na hlavní pracovní list a kliknutím na příkazové tlačítko spusťte VBA pro každou buňku v rozsahu.

Krok 3:

  • Stejně jako číselné hodnoty můžeme do každé buňky v rozsahu vložit i textové hodnoty. V takovém případě přejděte do okna VBA a místo hodnoty 100 vložte textovou hodnotu, kterou chcete projít. Změněný řádek je následující
 CL.Value = "ExcelWIKI" 

  • Klikněte na příkazové tlačítko a kód VBA vrátí tuto textovou hodnotu pro každou buňku v rozsahu.

Krok 4:

  • V tomto kroku půjdeme trochu hlouběji. Řekněme, že chceme zvýraznit každou prázdnou buňku v našem rozsahu.

  • Za tímto účelem přidejte do stávajícího kódu novou podmínku. Nový vzorec je následující,
 If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If 
  • Tento nový kód zvýrazní prázdnou buňku červenou barvou. Úplný kód tedy zní,
 Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub 

  • Výsledek získáte kliknutím na příkazové tlačítko.

Podobné čtení:

  • Jak používat objekt Range VBA v aplikaci Excel (5 vlastností)
  • Použití posunu rozsahu VBA (11 způsobů)
  • Jak počítat text v aplikaci Excel (7 snadných triků)

2. Vložení kódu VBA pro každou buňku ve sloupci rozsahu

Kód VBA můžeme spustit i pro každou buňku ve sloupci. Předpokládejme, že máme sloupec obsahující čísla a máme obarvit hodnoty, které jsou menší než 10. Sestavíme kód VBA pro spuštění každé buňky ve sloupci.

Krok 1:

  • Vytvořte příkazové tlačítko podle pokynů, které jsme probrali.

Krok 2:

  • Poklepáním na příkazové tlačítko otevřete okno VBA.
  • Deklarujeme proměnnou s názvem " c " typu long. Proměnnou typu Long zde používáme proto, že proměnné Long mají větší kapacitu než proměnné Integer.
 Dim c As Long 

  • Dále přidejte řádek kódu, který změní barvu písma všech buněk našeho sloupce na černou.
 Columns(1).Font.Color = vbBlack 

  • Vložte smyčku pro tento kód.
 For c = 1 To Rows.Count Next c 

  • V tomto kroku zadáme podmínku, aby se vybarvily hodnoty, které jsou nižší než hodnota buňky C4 (10). K tomu zadáme tento kód.
 If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If 

  • Konečný kód tedy zní,
 Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub 
  • Po kliknutí na příkazové tlačítko se spustí VBA a zobrazí výsledky.

3. Napište kód VBA pro každou buňku v řádku rozsahu

Kód VBA můžeme spustit i pro každou buňku v řádku. V daném řádku potřebujeme provést stejnou akci pro každou buňku řádku.

Krok 1:

  • Přidejte příkazové tlačítko a změňte jeho název na " Klikněte zde! "

  • Poklepáním na tlačítko otevřete okno VBA. Zapište níže uvedený kód VBA.
 Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Pro každou buňku v řádku a použijte žlutou barevnou výplň For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub 
  • Kód projde každou buňku řádku a na každou buňku použije výplň žluté barvy.

  • Klikněte na tlačítko a náš výsledek je zde.

Rychlé poznámky

👉 Pokud nemáte kartu vývojáře viditelnou, můžete ji aktivovat pomocí tohoto pokynu.

Přizpůsobený panel nástrojů Rychlý přístup → Další příkazy → Přizpůsobit pás karet → Vývojář → OK

Závěr

Prošli jsme tři různé přístupy ke spuštění VBA pro každou buňku v rozsahu. Pokud máte nějaké otázky nebo dotazy, můžete je komentovat. Můžete se podívat i na naše další články týkající se úloh v Excelu!

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.