Az alábbiakban megnézzük a programot Excel VBA hogy kiemeli az Aktív cella sorát és oszlopát (kiválasztott cella). Ez a program lenyűgözi és lenyűgözi a főnökét.
Helyzet:
Minden alkalommal, amikor megváltoztatjuk az 1. lapon található aktív cellát, egy makrót kell végrehajtani. Ezt egy Munkalap SelectionChange esemény létrehozásával érheti el.
1. Nyissa meg a Visual Basic Editor programot.
2. Kattintson duplán a Sheet1 (Sheet1) elemre a Project Explorerben.
3. Válassza a Munkalap lehetőséget a bal oldali legördülő listából. Válassza a SelectionChange lehetőséget a jobb oldali legördülő listából.
Adja hozzá a következő kódsorokat a Munkalap kiválasztása esemény módosításához:
4. Négy Integer típusú változót deklarálunk. Egy elnevezett rowNumberValue, egy nevű columnNumberValue, egy i nevű és egy j nevű.
Dim rowNumberValue mint egész, oszlopNumberValue mint egész, i mint egész, j mint egész
5. Először is hozzáadjuk azt a sort, amely az összes cella háttérszínét megváltoztatja, "Nincs kitöltés" értékre.
Cella.Interior.ColorIndex = 0
6. Inicializáljuk a rowNumberValue változót az Aktív cella sorszámával, és az oszlopNumberValue változót az Active Cell oszlopszámával.
rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column
7. Kékkel kiemeljük az oszlopot. Vagyis: az összes cella, amelynek sorszáma kisebb vagy egyenlő sorNumberValue és oszlopszám egyenlő oszlopNumberValue
Az i = 1 esetén a rowNumberValue értékhez
Cellak (i, oszlopSzámérték) .Belső.ColorIndex = 37
Következő i
Magyarázat: ebben a példában (lásd a fenti képet) a rowNumberValue értéke 12, az columnNumberValue értéke pedig 8. A For és Next közötti kódsorok tizenkét alkalommal kerülnek végrehajtásra. I = 1 esetén az Excel VBA színezi a cellát az 1. sor és a 8. oszlop metszéspontjában. I = 2 esetén az Excel VBA színezi a cellát a 2. sor és a 8. oszlop metszéspontjában, stb.
Megjegyzés: a 37 -es (kék) ColorIndex szám helyett bármilyen ColorIndex számot használhat.
8. Hasonló módon kiemeljük a kéket. Vagyis: minden olyan sor, amelynek sorszáma megegyezik a rowNumberValue értékkel, és az oszlopszám kisebb vagy egyenlő az columnNumberValue értékkel.
J = 1 esetén OszlopNumberValue
Cellak (rowNumberValue, j). Belső.ColorIndex = 37
Következő j
9. Most itt az ideje, hogy tesztelje a programot. Töltse le az Excel fájlt, és nézze meg, hogyan vannak kiemelve az Aktív cella sora és oszlopa minden alkalommal, amikor módosítja az aktív cellát.