Como faço para mover a seleção para baixo uma linha no Excel 2007?

6

Existe uma maneira de mover um intervalo selecionado para a próxima linha?

Digamos que eu tenha selecionado "E9: H9" e que a seleção seja movida para "E10: H10". Existe um atalho para isso? A seleção não deve ser estendida, mas movida uma linha para baixo.

    
por user48604 04.10.2011 / 11:18

4 respostas

11

Parece que você precisa de algo assim:

Sub moveselection()

Selection.Offset(1, 0).Select

End Sub

Isso moverá sua seleção uma linha para baixo sem alterar o tamanho da seleção.

    
por 04.10.2011 / 15:29
3

(a) Esse código não desce uma linha conforme a pergunta

(b) Ele funcionará apenas na primeira linha de uma seleção, você quer que ele funcione em uma seleção de múltiplas linhas?

(c) Em vez de chamar um sub para isso, você poderia executá-lo automaticamente clicando com o botão direito do mouse - você pode fazer isso clicando com o botão direito na guia de planilha, no View Code e colando no código abaixo

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    Range("E" & CStr(Selection.Row) & ":" & "GN" & CStr(Selection.Row)).Select
End Sub
    
por 05.10.2011 / 07:56
1

Uma alternativa que usa argumentos nomeados e é, portanto, muito mais clara, é algo assim.

ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

Um rowOffset positivo move a seleção para baixo da planilha, um rowOffset negativo sobe o número especificado de linhas e um deslocamento de zero deixa a linha na qual a seleção reside inalterada.

Da mesma forma, os deslocamentos positivos movem a seleção para a direita, enquanto as compensações negativas movem-se para a esquerda. Zero, claro, deixa a coluna inalterada.

Consulte a Propriedade Range.Offset (Excel)

Duas descobertas relacionadas podem ser de interesse para os futuros visitantes.

  1. Faça o seguinte para inserir uma coluna. Selection.EntireColumn.Insert e cuidado com Range.Insert, que gera erro de tempo de execução 1004, pelo menos em algumas circunstâncias, como planilhas protegidas (mesmo com inserção de coluna permitida enquanto está protegido).
  2. O método que acabamos de descrever deixa o ponto de inserção na nova coluna, o que eu não percebi até chegar aqui em busca de um método para mover a seleção (apenas para descobrir que eu não precisava disso!). / li>
por 19.06.2016 / 08:32
0

Ok,

O cursor tem que estar na linha e os intervalos "E" e "GN" precisam de ajuste para colunas diferentes, mas isso me poupa algum tempo:

Sub SelectRange()

  Dim RowNumber As Integer

  RowNumber = Selection.Row
  Range("E" & CStr(RowNumber) & ":" & "GN" & CStr(RowNumber)).Select

End Sub
    
por 04.10.2011 / 12:12