Nižšie sa pozrieme na program v Excel VBA že zvýrazní riadok a stĺpec aktívnej bunky (vybraná bunka). Tento program ohromí a zapôsobí na vášho šéfa.
Situácia:
Zakaždým, keď zmeníme aktívnu bunku v hárku 1, je potrebné vykonať makro. Môžete to dosiahnuť vytvorením udalosti SelectionChange pracovného hárka.
1. Otvorte editor jazyka Visual Basic.
2. Dvakrát kliknite na Sheet1 (Sheet1) v programe Project Explorer.
3. V ľavom rozbaľovacom zozname vyberte Pracovný list. V pravom rozbaľovacom zozname vyberte SelectionChange.
Do udalosti SelectionChange pracovného hárka pridajte nasledujúce riadky kódu:
4. Deklarujeme štyri premenné typu Integer. Jeden s názvom rowNumberValue, jeden s názvom columnNumberValue, jeden s názvom i a jeden s názvom j.
Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer
5. Najprv pridáme riadok, ktorý zmení farbu pozadia všetkých buniek, na hodnotu „Bez výplne“.
Cells.Interior.ColorIndex = 0
6. Inicializujeme premennú rowNumberValue s číslom riadku aktívnej bunky a premennú columnNumberValue s číslom stĺpca aktívnej bunky.
rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column
7. Stĺpec zvýrazníme modrou farbou. To znamená: všetky bunky s číslom riadka menším alebo rovným riadku numberNumberValue a číslom stĺpca rovným stĺpcom numberNumberValue
Pre i = 1 Na rowNumberValue
Bunky (i, columnNumberValue). Interior.ColorIndex = 37
Ďalej i
Vysvetlenie: v tomto prípade (pozri obrázok vyššie) sa riadok číslo_čísla rovná 12 a stĺpec číslo_čísla rovná 8. Riadky kódu medzi hodnotami For a Ďalej sa vykonajú dvanásťkrát. Pre i = 1, Excel VBA vyfarbí bunku na priesečníku riadka 1 a stĺpca 8. Pre i = 2, Excel VBA vyfarbí bunku na priesečníku riadku 2 a stĺpca 8 atď.
Poznámka: namiesto čísla ColorIndex 37 (modré) môžete použiť akékoľvek číslo ColorIndex.
8. Podobným spôsobom zvýrazníme rad modrou farbou. To znamená: všetky bunky s číslom riadka rovným rowNumberValue a číslom stĺpca menším alebo rovným columnNumberValue.
Pre j = 1 Do columnNumberValue
Bunky (rowNumberValue, j). Interior.ColorIndex = 37
Ďalej j
9. Teraz je čas program otestovať. Stiahnite si súbor Excel a zistite, ako sa zvýraznia riadky a stĺpce aktívnej bunky pri každej zmene aktívnej bunky.