Selecione qualquer célula e desative CutCopy
:
Range("A1").Select
Application.CutCopyMode = False
Eu gostaria que a aparência final após o término da seleção do meu VBA estivesse vazia de seleção - não haver célula ou intervalo em nenhuma folha colorida (se fosse o intervalo selecionado) ou em uma caixa de linha em negrito (tudo o que foi selecionado ). Pupose: para apresentar ao cliente uma boa aparência final.
Eu pesquisei e não consigo encontrar como fazer isso. Há um Deselecionar de acordo com o MS, mas não parece fazer nada.
Selecione qualquer célula e desative CutCopy
:
Range("A1").Select
Application.CutCopyMode = False
Existe uma maneira complicada de fazer isso.
Crie um objeto, como um botão. Selecione este botão e, em seguida, oculte-o e nenhuma célula será selecionada.
ActiveSheet.Shapes("Button 1").Visible = True
ActiveSheet.Shapes("Button 1").Select
ActiveSheet.Shapes("Button 1").Visible = False
É isso.
A única resposta é trapacear.
Ocultar coluna A
e linha 1
Coloque o cursor em A1
. Haverá um pequeno ponto no canto de B2
O Excel sempre tem algo selecionado. Um trabalho é necessário. Selecionando uma célula fora da tela irá definir o foco lá, de modo que não funcionará em si. Este código coloca o cursor fora da tela e, em seguida, rola a folha de volta para cima para ver A1
.
Sub NoSelect()
Range("BB100").Select
ActiveWindow.SmallScroll up:=100
ActiveWindow.SmallScroll ToLeft:=44
End Sub
Se você está realmente querendo 'nada selecionado', você pode usar o VBA para proteger a planilha no final da execução do código, o que fará com que nada seja selecionado. Você pode adicioná-lo a uma macro ou colocá-lo diretamente no seu VBA.
Sub NoSelect()
With ActiveSheet
.EnableSelection = xlNoSelection
.Protect
End With
End Sub
Assim que a planilha estiver desprotegida, o cursor ativará uma célula.
Dependendo do tamanho da sua seleção, para se livrar de qualquer artefato (não sei se isso também é um problema no Excel de 2013, mas no Mac era uma dor constante para mim), você pode simplesmente percorrer as células por célula e selecione cada um.
Ao desativar a atualização da tela antes de selecionar uma célula, a rolagem para as células selecionadas fica temporariamente desativada.
Este código verifica quais células estão atualmente visíveis e seleciona a primeira célula abaixo do intervalo visível que não está visível. Por exemplo, quando eu tento: o intervalo de Visble é A1: BC79, então este código seleciona A80 e rolar para baixo e para a direita e executá-lo novamente revela que o excel escolhe a primeira célula NÃO visível abaixo da primeira coluna visível.
Dim r As Range Application.ScreenUpdating = False Set r = Application.ActiveWindow.VisibleRange r(r.Cells.Count + 1).Select Application.ScreenUpdating = True
O código-fonte para este é uma resposta a uma pergunta diferente neste site.
Tags microsoft-excel vba