2011-10-04 09:18:12 +0000 2011-10-04 09:18:12 +0000
6
6

Como faço para mover a selecção para baixo uma fila no Excel 2007?

Existe alguma forma de mover uma gama seleccionada para a linha seguinte?

Digamos que tenho “E9:H9” seleccionado e quero que a selecção se desloque para “E10:H10”. Há algum atalho para isso? A selecção não deve ser prolongada, mas movida uma fila para baixo.

Respostas (4)

12
12
12
2011-10-04 13:29:40 +0000

Parece que só precisa de algo como isto:

Sub moveselection()

Selection.Offset(1, 0).Select

End Sub

Isto irá mover a sua selecção uma linha para baixo sem alterar o tamanho da selecção.

3
3
3
2011-10-05 05:56:01 +0000

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

(b) Funcionará apenas na primeira linha de uma selecção, queria que funcionasse numa selecção de várias linhas ?

© Em vez de chamar um submarino para isto, pode executá-lo automaticamente clicando com o botão direito do rato - pode fazê-lo adicionando o botão direito do rato na sua tabulação da folha, Ver Código e colando no código abaixo de

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
1
1
1
2016-06-19 06:32:34 +0000

Uma alternativa que utiliza argumentos nomeados, e que é, portanto, muito mais clara, é algo como isto.

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

Um rowOffset positivo move a selecção para baixo da folha, um rowOffset negativo move para cima o número especificado de filas, e um offset zero deixa a fila na qual a selecção reside inalterada.

Da mesma forma, os offsets positivos movem a selecção para a direita, enquanto os offsets negativos movem-na para a esquerda. O zero, é claro, deixa a coluna inalterada.

Ver Range.Offset Property (Excel)

Duas descobertas relacionadas podem também ser de interesse para futuros visitantes.

  1. fazer o seguinte para inserir uma coluna. Selection.EntireColumn.Insert e cuidado. Insira, o que levanta erro de tempo de execução 1004, pelo menos em algumas circunstâncias, tais como folhas de trabalho protegidas (mesmo com inserção de coluna permitida enquanto estiver protegida).
  2. O método agora descrito deixa o ponto de inserção na nova coluna, o qual só reparei quando vim aqui em busca de um método para mover a selecção (só para descobrir que não precisava dele!).
0
0
0
2011-10-04 10:12:29 +0000

Ok,

O cursor tem de estar na linha e as gamas “E” e “GN” precisam de ajustes para diferentes colunas mas poupa-me algum tempo:

Sub SelectRange()

  Dim RowNumber As Integer

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

End Sub