Alla tarkastelemme ohjelmaa Excel VBA että korostaa aktiivisen solun rivin ja sarakkeen (valittu solu). Tämä ohjelma hämmästyttää ja tekee vaikutuksen pomollesi.
Tilanne:
Joka kerta, kun muutamme taulukon 1 aktiivista solua, makro on suoritettava. Voit saavuttaa tämän luomalla laskentataulukon SelectionChange -tapahtuman.
1. Avaa Visual Basic Editor.
2. Kaksoisnapsauta Sheet1 (Sheet1) Project Explorerissa.
3. Valitse Laskentataulukko vasemmasta avattavasta luettelosta. Valitse SelectionChange oikeasta avattavasta luettelosta.
Lisää seuraavat koodirivit laskentataulukon valintatapahtumaan:
4. Ilmoitamme neljä Integer -tyyppistä muuttujaa. Yksi nimeltä rowNumberValue, yksi nimeltä columnNumberValue, yksi nimeltä i ja yksi nimeltä j.
Dim rowNumberValue kokonaislukuna, columnNumberValue kokonaislukuna, i kokonaislukuna, j kokonaislukuna
5. Lisäämme ensin rivin, joka muuttaa kaikkien solujen taustavärin, tilaan Ei täytettä.
Solut.Interior.ColorIndex = 0
6. Alustamme muuttujan rowNumberValue aktiivisen solun rivinumerolla ja muuttujan columnNumberValue aktiivisen solun sarakenumerolla.
rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column
7. Korostamme sarakkeen sinisenä. Eli kaikki solut, joiden rivinumero on pienempi tai yhtä suuri kuin rowNumberValue ja sarakkeen numero on yhtä suuri kuin columnNumberValue
I = 1 rivilleNumeroarvo
Solut (i, columnNumberValue) .Interior.ColorIndex = 37
Seuraavaksi minä
Selitys: tässä esimerkissä (katso yllä oleva kuva) riviNumeroarvo on 12 ja sarakeNumeroarvo 8. Koodirivit For ja Next suoritetaan kaksitoista kertaa. Jos i = 1, Excel VBA värittää solun rivin 1 ja sarakkeen 8 leikkauspisteessä. Jos i = 2, Excel VBA värittää solun rivin 2 ja sarakkeen 8 leikkauspisteessä jne.
Huomautus: ColorIndex -numeron 37 (sininen) sijasta voit käyttää mitä tahansa ColorIndex -numeroa.
8. Samalla tavalla korostamme rivin sinisenä. Toisin sanoen: kaikki solut, joiden rivinumero on yhtä suuri kuin rowNumberValue ja sarakkeen numero pienempi tai yhtä suuri kuin columnNumberValue.
Jos j = 1 SarakkeenNumeroarvoon
Solut (rowNumberValue, j) .Interior.ColorIndex = 37
Seuraava j
9. Nyt on aika testata ohjelma. Lataa Excel -tiedosto ja katso, kuinka aktiivisen solun rivi ja sarake korostetaan aina, kun muutat aktiivista solua.