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

2

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

por exemplo. Eu tenho uma coluna com 100 células com "1", seguido por 100 células com "2" e 100 células com "3". Se eu tiver selecionado uma das células com "2", o atalho selecionaria a última célula com "2", antes do "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").

    
por Jo Pedder 13.08.2014 / 11:36

1 resposta

0

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

Atalhos de teclado do Excel 2010 , Atalhos de teclado do Excel 2013 , < href="http://office.microsoft.com/pt-br/office-online-help/keyboard-shortcuts-in-excel-online-HA010378329.aspx?CTT=5&origin=HA010380212"> Teclado on-line do Excel Atalhos

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

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

Eu não consigo descobrir como anexar arquivos, então aqui está o código. (Note que este código é áspero 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
    
por 26.08.2014 / 16:11