Como desmarcar a célula do Excel usando o atalho de teclado?

13

Pode-se selecionar várias células Excel (de forma contígua ou não) usando o atalho de teclado Ctrl + Click.

Como você desmarca uma ou mais dessas células previamente selecionadas?

    
por Yajli Maclo 26.03.2015 / 16:10

3 respostas

5

Usando as teclas SHIFT e / ou CTRL, você pode selecionar intervalos não contíguos. No entanto, se você selecionar uma célula ou área por engano, não haverá nenhuma maneira de removê-la da seleção sem perder a seleção inteira e ter que começar de novo. Esta página descreve os procedimentos VBA, UnSelectActiveCell e UnSelectCurrentArea que removerão a célula ativa ou a área que contém a célula ativa de a seleção atual. Todas as outras células da seleção permanecerão selecionadas.

Sua melhor aposta seria adicioná-los à sua pasta de trabalho Macro pessoal para que eles estão disponíveis para todas as pastas de trabalho abertas no Excel.

Este procedimento removerá a célula ativa da seleção .

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

Este procedimento removerá a área que contém a célula ativa da seleção.

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
    
por 26.03.2015 / 16:21
2

Uma maneira mais robusta de deselecionar múltiplas células é descrita neste Artigo do ExtendOffice . Ele inclui um prompt extra, mas você pode cancelar a seleção de um número arbitrário de células / seleções de uma só vez (em vez de desmarcar somente a célula ou área ativa)

Estou postando o script aqui, com uma pequena melhoria de usabilidade (removido condicionalmente o primeiro prompt redundante da postagem original):

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

Para usá-lo, você faz uma seleção, invoca a macro DeselectCells (que é melhor ser salva no seu livro de macro Pessoal e atribuída a um atalho) e seleciona as células para serem de selecionado no pop-up exibido:

    
por 31.03.2016 / 12:20
1

Agora é possível desmarcar com CTRL uma célula selecionada por engano. É uma nova função incorporada no Office 365 ou versões recentes. Finalmente!

    
por 24.02.2018 / 17:49