Atalho para passar para o próximo novo conteúdo (Excel)

Atalho para passar para o próximo novo conteúdo (Excel)

Gostaria de saber se existe um atalho para mover e selecionar a última célula de uma linha ou com o mesmo conteúdo da célula atual. Ou seja, ctrl + seta move-se para a borda da matriz de dados, mas eu gostaria de mover, e de preferência selecionar tudo, para a borda de uma matriz com o mesmo conteúdo exibido (ou seja, os mesmos resultados, mas não necessariamente a mesma fórmula) .

por exemplo, tenho uma coluna com 100 células com "1", seguida de 100 células com "2" e depois 100 células com "3". Se eu selecionasse uma das células com “2”, o atalho selecionaria a última célula com “2”, logo antes de “3”.

Seria ótimo se a resposta pudesse lidar com as diferenças entre o resultado exibido das células e o conteúdo das células (ou seja, as células da coluna que exibem "2" na verdade possuem células dizendo "=1+1" e "= 3-1").

Responder1

Não existe essa função integrada no Excel, mas você pode criar uma.

Atalhos de teclado do Excel 2010,Atalhos de teclado do Excel 2013,Atalhos de teclado on-line do Excel

Para simular qualquer atalho de teclado desejado, você pode usar o VBA usando oAplicativo.OnKeymétodo para atribuir uma combinação de teclado a uma macro. A ideia é a seguinte: No evento Workbook_Open, atribua comandos de teclado às macros No evento Workbook_BeforeClose, atribua os mesmos comandos a nada (redefinir para o padrão) Em um módulo, escreva as sub-rotinas que deseja executar para esses comandos de teclado

Agora, sempre que você abrir a pasta de trabalho, os comandos de teclado selecionados executarão macros que farão o que você quiser. Isso é bom para muito mais do que apenas mover-se pela folha. No meu exemplo, atribuí as teclas CTRL+D e CTRL+U para Baixo e Cima, mas você escolhe o que faz mais sentido para você. Se você deseja que esses comandos de teclado funcionem para todos os arquivos, a premissa é a mesma, exceto que você os salva em sua pasta de trabalho pessoal de macros.

Não consigo descobrir como anexar arquivos, então aqui está o código. (Observe que este código é simples e rápido. Eu queria o exemplo mais simples, não o código mais robusto.)

No objeto "ThisWorkbook":

Private Sub Workbook_Open()
    Application.OnKey "^d", "findLastOfThis"
    Application.OnKey "^u", "findFirstOfThis"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^d"
    Application.OnKey "^u"
End Sub

Em um módulo:

Option Explicit
Private Sub findLastOfThis()
    Dim val As Variant
    Dim r As Long, c As Long
    val = ActiveCell.Value
    c = ActiveCell.Column
    For r = ActiveCell.Row To ActiveSheet.UsedRange.Rows.Count
        If Cells(r, c).Value <> val Then Exit For
    Next
    r = r - 1
    Cells(r, c).Activate
End Sub

Private Sub findFirstOfThis()
    Dim val As Variant
    Dim r As Long, c As Long
    val = ActiveCell.Value
    c = ActiveCell.Column
    For r = ActiveCell.Row To 1 Step -1
        If Cells(r, c).Value <> val Then Exit For
    Next
    r = r + 1
    Cells(r, c).Activate
End Sub

informação relacionada