Actieve rij en kolom markeren in Excel

  • Deel Dit
Michael Brown

In deze handleiding leert u 3 verschillende manieren om dynamisch de rij en kolom van een geselecteerde cel in Excel te markeren.

Wanneer u lange tijd een groot werkblad bekijkt, kunt u op den duur uit het oog verliezen waar uw cursor zich bevindt en welke gegevens u bekijkt. Om precies te weten waar u zich op elk moment bevindt, kunt u Excel de actieve rij en kolom automatisch voor u laten markeren! Uiteraard moet de markering dynamisch zijn en veranderen telkens wanneer u een andere cel selecteert. Dit is in wezen wat wij willen bereiken:

    Automatisch rij en kolom van geselecteerde cel oplichten met VBA

    Dit voorbeeld laat zien hoe u een actieve kolom en rij programmatisch kunt markeren met VBA. Hiervoor gebruiken we het SelectionChange gebeurtenis van de Werkblad object.

    Eerst maakt u de achtergrondkleur van alle cellen op het blad leeg door de optie ColorIndex eigenschap op 0. En dan markeer je de hele rij en kolom van de actieve cel door hun ColorIndex eigenschap naar het indexnummer voor de gewenste kleur.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Wis de kleur van alle cellen Cells.Interior.ColorIndex = 0 With Target 'Markeer rij en kolom van de geselecteerde cel .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    De code aanpassen

    Als u de code wilt aanpassen aan uw behoeften, kunnen deze kleine tips van pas komen:

    • Onze voorbeeldcode gebruikt twee verschillende kleuren in het bovenstaande gif - kleurindex 38 voor de rij en 24 voor de kolom. Naar verander de kleur van de markering vervangt u die gewoon door ColorIndex-codes van uw keuze.
    • Om de rij en kolom gekleurd te krijgen in de dezelfde manier Gebruik voor beide hetzelfde kleurindexnummer.
    • Om alleen de actieve rij Verwijder deze regel of geef commentaar: .EntireColumn.Interior.ColorIndex = 24
    • Om alleen de actieve kolom Verwijder deze regel of geef commentaar: .EntireRow.Interior.ColorIndex = 38

    Hoe voeg je de code toe aan je werkblad

    Om de code stil op de achtergrond van een specifiek werkblad te laten uitvoeren, moet u deze invoegen in het codevenster dat bij dat werkblad hoort, en niet in de normale module. Voer daarvoor de volgende stappen uit:

    1. Druk in uw werkmap op Alt + F11 om naar de VBA-editor te gaan.
    2. In de Projectverkenner links ziet u een lijst van alle open werkmappen en hun werkbladen. Als u die niet ziet, gebruik dan de sneltoets Ctrl + R om het venster Projectverkenner in beeld te brengen.
    3. Zoek de doelmap. In zijn Microsoft Excel-objecten map, dubbelklik op het blad waarin u de markering wilt aanbrengen. In dit voorbeeld is dat Blad 1 .
    4. Plak in het Codevenster rechts de bovenstaande code.
    5. Sla uw bestand op als Werkboek met macro's (.xlsm).

    Voordelen : alles gebeurt in de backend; er zijn geen aanpassingen/aanpassingen nodig aan de kant van de gebruiker; werkt in alle Excel-versies.

    Nadelen : er zijn twee essentiële nadelen waardoor deze techniek onder bepaalde omstandigheden niet toepasbaar is:

    • De code wist achtergrondkleuren Gebruik deze oplossing niet als u gekleurde cellen hebt, want dan gaat uw aangepaste opmaak verloren.
    • Het uitvoeren van deze code blokkeert de ongedaanmakingsfunctie op het blad, en u kunt een foutieve actie niet ongedaan maken door op Ctrl + Z te drukken.

    Actieve rij en kolom markeren zonder VBA

    Het beste wat u kunt krijgen om de geselecteerde rij en/of kolom te markeren zonder VBA is de voorwaardelijke opmaak van Excel. Om deze in te stellen voert u de volgende stappen uit:

    1. Selecteer uw dataset waarin de markering moet worden uitgevoerd.
    2. Op de Home tabblad, in de Styles groep, klik Nieuwe regel .
    3. In de Nieuwe opmaakregel dialoogvenster, kies Gebruik een formule om te bepalen welke cellen moeten worden opgemaakt .
    4. In de Formatteer waarden waar deze formule waar is vak een van deze formules in:

      Om te benadrukken actieve rij :

      =CELL("row")=ROW()

      Om te benadrukken actieve kolom :

      =CELL("col")=COLUMN()

      Om te benadrukken actieve rij en kolom :

      =OR(CEL("row")=ROW(), CEL("col")= COLUMN())

      Alle formules maken gebruik van de CELL-functie om het rij/kolomnummer van de geselecteerde cel terug te geven.

    5. Klik op de Formaat toets, schakel over naar de Vul en selecteer de kleur die je mooi vindt.
    6. Klik tweemaal op OK om beide dialoogvensters te sluiten.

    Als u denkt dat u meer gedetailleerde instructies nodig hebt, raadpleeg dan Hoe maak ik een op formules gebaseerde regel voor voorwaardelijke opmaak.

    Voor dit voorbeeld hebben we gekozen voor de OR-formule om zowel de kolom als de rij in dezelfde kleur te kleuren. Dat kost minder werk en is geschikt voor de meeste gevallen.

    Helaas is deze oplossing niet zo mooi als de VBA-oplossing, omdat zij vereist dat het blad handmatig herberekenen (door op de F9-toets te drukken). Standaard berekent Excel een werkblad alleen opnieuw nadat nieuwe gegevens zijn ingevoerd of het bestaande werkblad is bewerkt, maar niet wanneer de selectie verandert. U selecteert dus een andere cel - er gebeurt niets. Druk op F9 - het blad wordt ververst, de formule wordt opnieuw berekend en de markering wordt bijgewerkt.

    Om het werkblad automatisch te laten herberekenen wanneer de SelectionChange gebeurtenis plaatsvindt, kunt u deze eenvoudige VBA-code plaatsen in de codemodule van uw doelblad, zoals uitgelegd in het vorige voorbeeld:

    Privé Sub Werkblad_SelectieWijziging( DoorVal Doel als Bereik) Doel.Berekenen Einde Sub

    De code dwingt het geselecteerde bereik/de geselecteerde cel opnieuw te berekenen, waardoor de CELL-functie wordt bijgewerkt en de voorwaardelijke opmaak de wijziging weergeeft.

    Voordelen : in tegenstelling tot de vorige methode heeft deze methode geen invloed op de bestaande opmaak die u handmatig hebt toegepast.

    Nadelen : kan de prestaties van Excel verslechteren.

    • Om de voorwaardelijke opmaak te laten werken, moet u Excel dwingen de formule opnieuw te berekenen bij elke wijziging van de selectie (handmatig met de F9-toets of automatisch met VBA). Gedwongen herberekeningen kunnen uw Excel vertragen. Aangezien onze code de selectie herberekent in plaats van een heel blad, zal een negatief effect waarschijnlijk alleen merkbaar zijn op echt grote en complexe werkmappen.
    • Aangezien de CELL-functie beschikbaar is in Excel 2007 en hoger, werkt deze methode niet in eerdere versies.

    Geselecteerde rij en kolom markeren met voorwaardelijke opmaak en VBA

    Indien de vorige methode uw werkmap aanzienlijk vertraagt, kunt u de taak anders aanpakken - in plaats van een werkblad opnieuw te berekenen bij elke beweging van de gebruiker, verkrijgt u het actieve rij/kolomnummer met behulp van VBA, en serveert u dat nummer vervolgens aan de functie ROW() of COLUMN() met behulp van formules voor voorwaardelijke opmaak.

    Om dit te bereiken, zijn hier de stappen die u moet volgen:

    1. Voeg een nieuw leeg blad toe aan je werkmap en geef het de naam Hulpblad Het enige doel van dit blad is het opslaan van twee getallen die de rij en de kolom met een geselecteerde cel voorstellen, zodat u het blad later veilig kunt verbergen.
    2. Voeg de onderstaande VBA in in het codevenster van het werkblad waar u de markering wilt implementeren. Voor de gedetailleerde instructies verwijzen wij naar ons eerste voorbeeld. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets( "Helper Sheet" ).Cells(2, 1) = Target.Row Worksheets( "Helper Sheet" ).Cells(2, 2) = Target.Column Application.ScreenUpdating= True End Sub

      De bovenstaande code plaatst de coördinaten van de actieve rij en kolom in het blad met de naam "Hulpblad". Als u uw blad in stap 1 een andere naam gaf, verander dan de werkbladnaam in de code dienovereenkomstig. Het rijnummer wordt geschreven naar A2 en het kolomnummer naar B2.

    3. Selecteer in uw doelwerkblad de volledige dataset en maak een voorwaardelijke opmaakregel met de onderstaande formules. De stapsgewijze begeleiding wordt gegeven in het bovenstaande voorbeeld.

    En laten we nu de drie belangrijkste use cases in detail behandelen.

    Actieve rij markeren

    Om de rij waar uw cursor nu staat te markeren, stelt u een voorwaardelijke opmaakregel in met deze formule:

    =ROW()='Helper Sheet'!$A$2

    Daardoor kan de gebruiker duidelijk zien welke rij momenteel is geselecteerd:

    Actieve kolom markeren

    Om de geselecteerde kolom te markeren, voert u het kolomnummer naar de functie COLUMN met behulp van deze formule:

    =COLUMN()='Helper Sheet'!$B$2

    Met een gemarkeerde kolom kunt u nu comfortabel en moeiteloos verticale gegevens lezen, waarbij u zich volledig op die kolom richt.

    Actieve rij en kolom markeren

    Om zowel de geselecteerde rij als kolom automatisch in dezelfde kleur te krijgen, combineert u de functies ROW() en COLUMN() in één formule:

    =OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)

    De relevante gegevens worden onmiddellijk in beeld gebracht, zodat u ze niet verkeerd kunt lezen.

    Voordelen : geoptimaliseerde prestaties; werkt in alle Excel-versies

    Nadelen : de langste opstelling

    Dat is hoe u de kolom en rij van een geselecteerde cel in Excel kunt markeren. Ik dank u voor het lezen en zie u graag volgende week op onze blog!

    Praktijk werkboek om te downloaden

    Actieve rij en kolom markeren (.xlsm-bestand)

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.