Markera Active Cell i Excel VBA - Enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA det där markerar raden och kolumnen i den aktiva cellen (markerad cell). Detta program kommer att förvåna och imponera på din chef.

Situation:

Varje gång vi ändrar den aktiva cellen på Sheet1 måste ett makro köras. Du kan uppnå detta genom att skapa en kalkylbladshändelse.

1. Öppna Visual Basic Editor.

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

3. Välj kalkylblad från den vänstra listrutan. Välj SelectionChange från den högra listrutan.

Lägg till följande kodrader i arbetsbladets urvalsändring:

4. Vi deklarerar fyra variabler av typen Heltal. En namngiven rowNumberValue, en med namnet columnNumberValue, en som heter i och en som heter j.

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

5. Först lägger vi till raden som ändrar bakgrundsfärgen på alla celler till "Ingen fyllning".

Cells.Interior.ColorIndex = 0

6. Vi initierar variabeln rowNumberValue med radnumret för den aktiva cellen och variabeln columnNumberValue med kolumnnumret för den aktiva cellen.

rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column

7. Vi markerar kolumnen blå. Det vill säga: alla celler med radnummer mindre eller lika med rowNumberValue och kolumnnummer lika med columnNumberValue

För i = 1 To rowNumberValue
Celler (i, columnNumberValue) .Interior.ColorIndex = 37
Nästa i

Förklaring: för detta exempel (se bilden ovan) är rowNumberValue lika med 12 och columnNumberValue lika med 8. Kodraderna mellan For och Next kommer att köras tolv gånger. För i = 1 färgar Excel VBA cellen i skärningspunkten mellan rad 1 och kolumn 8. För i = 2 färgar Excel VBA cellen i skärningspunkten mellan rad 2 och kolumn 8, etc.

Obs! I stället för ColorIndex nummer 37 (blått) kan du använda valfritt ColorIndex -nummer.

8. På ett liknande sätt markerar vi raden blå. Det vill säga: alla celler med radnummer lika med rowNumberValue och kolumnnummer mindre eller lika med columnNumberValue.

För j = 1 Till columnNumberValue
Celler (rowNumberValue, j) .Interior.ColorIndex = 37
Nästa j

9. Nu är det dags att testa programmet. Ladda ner Excel -filen och se hur raden och kolumnen i den aktiva cellen markeras varje gång du ändrar den aktiva cellen.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave