Obsah
Vo veľkých databázach trávite väčšinu času prácou s rozsahmi a bunkami. Niekedy musíte opakovať tú istú činnosť vo veľkých rozsahoch alebo vo veľkom počte buniek. To zároveň zabíja váš čas a znižuje efektivitu. Inteligentným riešením tohto problému je vytvorenie Kód programovania VBA ktorý prejde každú bunku v rozsahu a vykoná rovnakú akciu, ktorú ste nariadili. Dnes v tomto článku budeme diskutovať o tom, ako urobiť VBA pre každú bunku v rozsahu v programe Excel.
Stiahnite si cvičebnicu
Stiahnite si túto cvičebnicu a precvičte si úlohu počas čítania tohto článku.
Kód VBA pre každú bunku v rozsahu v programe Excel.xlsx3 vhodné spôsoby použitia VBA pre každú bunku v rozsahu v programe Excel
Pomocou kódu VBA môžete vykonať rovnaký vzorec pre každú bunku v rozsahu alebo stĺpci či riadku. V tejto časti si prejdeme všetky časti.
1. Aplikovať VBA pre každú bunku v rozsahu
Uvažujte o situácii, keď musíte použiť rovnaký kód VBA pre každú bunku v danom rozsahu ( B3:F12 ). Na tento účel vytvoríme kód VBA. Pokyny sú uvedené nižšie
Krok 1:
- Najskôr vložíme príkazové tlačidlo, aby sme si zjednodušili prácu. Prejdite do svojho Karta Vývojár , vyberte Vložte a kliknite na príkazové tlačidlo, aby ste ho získali.
- Máme naše príkazové tlačidlo.
- Kliknutím pravým tlačidlom myši na príkazové tlačidlo otvorte možnosti. Vyberte a kliknite na Vlastnosti upraviť niektoré možnosti.
- Zmeňte nadpis príkazového tlačidla. Tu zmeníme názov na " Kliknite tu ".
Krok 2:
- Teraz dvakrát kliknite na príkazové tlačidlo, aby ste otvorili VBA Modul . Tu zapíšeme náš kód VBA pre túto úlohu.
- Najprv deklarujeme dve premenné. Objekty s rozsahom nazveme CL a Rng Môžete ich pomenovať podľa vlastného uváženia.
Dim CL As Range Dim Rng As Range
- Priradenie konkrétneho rozsahu pomocou tohto príkazu,
Set Rng = Worksheets("VBA1").Range("B3:F12")
- Tu VBA1 je názov nášho pracovného hárka a B3:F12 je náš definovaný rozsah.
- Teraz použijeme kód na vykonanie jednotlivých buniek v rozsahu. Kód je,
Pre každý CL v Rng CL.Value = 100 Nasledujúci CL
- Hodnota = 100 odkazuje na to, že sa vráti 100 pre každú bunku v danom rozsahu.
- Náš konečný kód teda 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
- Prejdite na hlavný pracovný hárok a kliknite na príkazové tlačidlo, aby ste spustili VBA pre každú bunku v rozsahu.
Krok 3:
- Podobne ako pri číselných hodnotách, aj textové hodnoty môžeme vložiť pre každú bunku v rozsahu. V takom prípade prejdite do okna VBA a namiesto hodnoty 100 vložte textovú hodnotu, ktorú chcete prechádzať. Zmenený riadok je
CL.Value = "ExcelWIKI"
- Kliknite na tlačidlo príkazu a kód VBA vráti túto textovú hodnotu pre každú bunku v rozsahu.
Krok 4:
- V tomto kroku pôjdeme trochu hlbšie. Povedzme, že chceme zvýrazniť každú prázdnu bunku v našom rozsahu.
- Na tento účel pridajte do existujúceho kódu novú podmienku. Nový vzorec je,
If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If
- Tento nový kód zvýrazní prázdnu bunku červenou farbou. Úplný kód teda znie,
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ýsledok získate kliknutím na tlačidlo príkazu.
Podobné čítanie:
- Ako používať objekt rozsahu VBA v programe Excel (5 vlastností)
- Použitie posunu rozsahu VBA (11 spôsobov)
- Ako počítať text v programe Excel (7 jednoduchých trikov)
2. Vloženie kódu VBA pre každú bunku v stĺpci rozsahu
Kód VBA môžeme spustiť aj pre každú bunku v stĺpci. Predpokladajme, že máme stĺpec obsahujúci čísla a musíme vyfarbiť hodnoty, ktoré sú nižšie ako 10. Vytvoríme kód VBA, ktorý spustíme pre každú bunku v stĺpci.
Krok 1:
- Vytvorte príkazové tlačidlo podľa pokynov, ktoré sme prebrali.
Krok 2:
- Dvojitým kliknutím na príkazové tlačidlo otvorte okno VBA.
- Deklarujeme premennú s názvom " c " typu long. Tu používame premennú typu Long, pretože premenné Long majú väčšiu kapacitu ako premenné Integer.
Dim c As Long
- Potom pridajte riadok kódu, ktorý zmení farbu písma všetkých buniek v našom stĺpci na čiernu.
Columns(1).Font.Color = vbBlack
- Vložte slučku pre tento kód.
For c = 1 To Rows.Count Next c
- V tomto kroku zadáme podmienku, aby sa vyfarbili hodnoty, ktoré sú nižšie ako hodnota bunky C4 (10). Na tento účel zadajte 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 teda znie,
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
- Program VBA sa spustí a zobrazí výsledky po kliknutí na tlačidlo príkazu.
3. Napíšte kód VBA pre každú bunku v riadku rozsahu
Kód VBA môžeme spustiť aj pre každú bunku v riadku. V danom riadku potrebujeme vykonať rovnakú akciu na každej bunke riadku.
Krok 1:
- Pridajte príkazové tlačidlo a zmeňte jeho názov na " Kliknite sem! "
- Dvojitým kliknutím na tlačidlo otvorte okno VBA. Zapíšte nižšie uvedený kód VBA.
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Pre každú bunku v riadku a použite žltú farebnú výplň For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- Kód prejde každú bunku riadku a na každú bunku použije žltú farebnú výplň.
- Kliknite na tlačidlo a náš výsledok je tu.
Rýchle poznámky
👉 Ak nemáte viditeľnú kartu vývojára, môžete ju aktivovať pomocou tohto návodu.
Prispôsobený panel nástrojov rýchleho prístupu → Ďalšie príkazy → Prispôsobiť panel → Vývojár → OK
Záver
Prešli sme tri rôzne prístupy k spusteniu VBA pre každú bunku v rozsahu. Ak máte nejaké otázky alebo dotazy, môžete sa k nim vyjadriť. Môžete si pozrieť aj naše ďalšie články týkajúce sa úloh Excelu!