Comment désélectionner Excel Cell à l'aide du raccourci clavier?


14

On peut sélectionner plusieurs cellules Excel (de manière contiguë ou non) en utilisant le raccourci clavier Ctrl+ clic.

Comment désélectionnez-vous une ou plusieurs de ces cellules précédemment sélectionnées?

Réponses:


5

En utilisant les touches MAJ et / ou CTRL, vous pouvez sélectionner des plages non contiguës. Cependant, si vous sélectionnez une cellule ou une zone par erreur, il n'existe aucun moyen intégré de supprimer cela de la sélection sans perdre la sélection entière et avoir à recommencer. Cette page décrit les procédures VBA, UnSelectActiveCell et UnSelectCurrentArea qui supprimeront la cellule active ou la zone contenant la cellule active de la sélection actuelle. Toutes les autres cellules de la sélection resteront sélectionnées.

Votre meilleur pari serait de les ajouter à votre classeur de macros personnelles afin qu'elles soient disponibles pour tous les classeurs ouverts dans Excel.

Cette procédure supprimera la cellule active de la sélection .

Sub UnSelectActiveCell()
    Dim R As Range
    Dim RR As Range
    For Each R In Selection.Cells
        If StrComp(R.Address, ActiveCell.Address, vbBinaryCompare) <> 0 Then
            If RR Is Nothing Then
                Set RR = R
            Else
                Set RR = Application.Union(RR, R)
            End If
        End If
    Next R
    If Not RR Is Nothing Then
        RR.Select
    End If
End Sub

Cette procédure supprimera la zone contenant la cellule active de la sélection.

Sub UnSelectCurrentArea()
    Dim Area As Range
    Dim RR As Range

    For Each Area In Selection.Areas
        If Application.Intersect(Area, ActiveCell) Is Nothing Then
            If RR Is Nothing Then
                Set RR = Area
            Else
                Set RR = Application.Union(RR, Area)
            End If
        End If
    Next Area
    If Not RR Is Nothing Then
        RR.Select
    End If
End Sub

1
Je me demande si vous pouvez faire UnSelectActiveCellplus vite si vous vous réunissez par plages et ne bouclez que dans les cellules si Not Intersect(Area,ActiveCell) Is Nothing. Cela pourrait ne pas être le cas si la Intersectfonction est tellement plus lente que la StrCompfonction qu'elle ne peut pas compenser la réduction des appels à Union.
Ingénieur Toast

1
Dieu excelle est si vieux lol
codyc4321

Est-ce toujours le cas? Je ne peux pas pour ma vie découvrir comment accéder à deselectune cellule. C'est absolument ridicule! Je sélectionne toutes les 2 colonnes et si je fais une erreur, je dois recommencer? C'est% & * ing fou!
pookie

2

Un moyen plus robuste de désélectionner plusieurs cellules est décrit dans cet article ExtendOffice . Il comprend une invite supplémentaire, mais vous pouvez désélectionner un nombre arbitraire de cellules / sélections à la fois (au lieu de désélectionner uniquement la cellule ou la zone active)

Je publie le script ici, avec une petite amélioration de l'utilisabilité (suppression conditionnelle de la première invite redondante de la publication d'origine):

Sub DeselectCells()
    Dim rng As Range
    Dim InputRng As Range
    Dim DeleteRng As Range
    Dim result As Range
    xTitleId = "Deselect Cells"

    Set InputRng = Application.Selection
    If InputRng.Count <= 1 Then
        Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
    End If
    Set DeleteRng = Application.InputBox("Delete Range", xTitleId, Type:=8)
    For Each rng In InputRng
        If Application.Intersect(rng, DeleteRng) Is Nothing Then
            If result Is Nothing Then
                Set result = rng
            Else
                Set result = Application.Union(result, rng)
            End If
        End If
    Next
    result.Select
End Sub

Pour l' utiliser, vous faites une sélection, appelez la DeselectCellsmacro (qui est le mieux pour être enregistré dans votre livre de macros personnelles et affecté à un raccourci) et sélectionnez les cellules à de sélectionné dans le menu contextuel qui apparaît:

Désélectionner les cellules


Belle trouvaille, excellente réponse.
Burgi

1

Il est désormais possible de désélectionner avec CTRL une cellule sélectionnée par erreur. Il s'agit d'une nouvelle fonction intégrée dans Office 365 ou des versions récentes. Finalement!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.