/ / Marker Active Cell i Excel VBA

Fremhev Active Cell i Excel VBA

Nedenfor ser vi på et program i Excel VBA at fremhever rad og kolonne i den aktive cellen (valgt celle). Dette programmet vil forbløffe og imponere sjefen din.

Situasjon:

Fremhev Active Cell i Excel VBA

Hver gang vi endrer Active Cell på Sheet1, må en makro utføres. Du kan oppnå dette ved å opprette en Worksheet SelectionChange Event.

1. Åpne Visual Basic Editor.

2. Dobbeltklikk på Sheet1 (Sheet1) i Project Explorer.

3. Velg regneark fra den nedtrekkbare listen. Velg Utvalgskjør fra den høyre rullegardinlisten.

ArbeidsarkvalgEndre hendelse i Excel VBA

Legg til følgende kodelinjer i ArbeidsarkvalgVarianthendelse:

4. Vi erklærer fire variabler av typen Integer. En navngitt rowNumberValue, en navngitt columnNumberValue, en som heter jeg og en som heter j.

Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer

5. Først legger vi til linjen som endrer bakgrunnsfargen på alle cellene til "No Fill".

Cells.Interior.ColorIndex = 0

6. Vi initialiserer variabelen rowNumberValue med radnummeret til den aktive cellen og variabelen columnNumberValue med kolonnnummeret til den aktive cellen.

rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column

7. Vi markerer kolonnen blå. Det er: alle cellene med radnummer mindre eller lik rowNumberValue og kolonnenummer som er lik kolonneNummerValue

For i = 1 To rowNumberValue
    Cells(i, columnNumberValue).Interior.ColorIndex = 37
Next i

Forklaring: for dette eksempelet (se bildet over) er rowNumberValue 12 og columnNumberValue tilsvarer 8. Kodelinjene mellom For og Next vil bli utført tolv ganger. For i = 1, farger Excel VBA cellen ved krysset mellom rad 1 og kolonne 8. For i = 2, farger Excel VBA cellen ved krysset mellom rad 2 og kolonne 8, etc.

Merk: i stedet for ColorIndex nummer 37 (blå), kan du bruke et hvilket som helst ColorIndex-nummer.

8. På samme måte markerer vi raden blå. Det er: alle cellene med radnummer lik rowNumberValue og kolonnenummer som er mindre eller lik kolonneNummerValue.

For j = 1 To columnNumberValue
    Cells(rowNumberValue, j).Interior.ColorIndex = 37
Next j

9. Nå er det på tide å teste programmet. Last ned Excel-filen og se hvordan raden og kolonnen til den aktive cellen er uthevet hver gang du endrer den aktive cellen.

Les også: