none
Pular coluna Excel RRS feed

  • Pergunta

  • Olá preciso de uma ajuda. 

    Tenho uma planilha com quase 30 Colunas, vou preenchendo ela diariamente, porém não preciso preencher todas céluas, as restantes o sistema já me fornece.

    Preciso de uma Macro que quando eu coloco os dados em uma célula, aperto a tecla "TAB" pula para a próxima célula que eu preencho.

    Obrigado. 

    quinta-feira, 10 de março de 2016 19:13

Respostas

  • Você pode usar a macro abaixo para criar uma seleção personalizada e navegar com Tab, mas a desvantagem é que a variável SelectionAddress pode ter no máximo 255 caracteres:

    Sub Main()
        Const AFFECTED_COLUMNS As String = "B,D,F"
        Const START_ROW As Long = 5
        Const END_ROW As Long = 10
        
        Dim AffectedColumns() As String
        Dim iAffectedColumn As Variant
        Dim iRow As Long
        Dim SelectionAddress As String
        
        For iRow = START_ROW To END_ROW
            For Each iAffectedColumn In Split(AFFECTED_COLUMNS, ",")
                SelectionAddress = SelectionAddress & _
                                   Cells(iRow, iAffectedColumn).Address(0, 0) & _
                                   ","
            Next iAffectedColumn
        Next iRow
        
        SelectionAddress = Left(SelectionAddress, Len(SelectionAddress) - Len(","))
        Range(SelectionAddress).Select
    End Sub
    


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quarta-feira, 16 de março de 2016 19:47
    Moderador

Todas as Respostas

  • Pedro,

    mas as células que você preenche são específicas ?

    Exemplo:

    Você preenche a célular A5, clica TAB e pula para a D5 que é a próxima a ser preenchida, é isso ?

    Att,


    Antero Marques

    quinta-feira, 10 de março de 2016 19:21
  • Não. Como preencho elas diariamente  e salvo a planilha necessito de algo do tipo:

    A5---->E5

    A6---->E6

    A7---->E7

    Vi um código e tentei jogar em um For, mas não deu. 

    For x = 5 To 5000
        
            Select Case ActiveCell.AddressLocal
                  
            Case Cells(x, 1)
            Cells(x, 5).Activate
            End Select
            Next
      


    quinta-feira, 10 de março de 2016 19:33
  • Pedro,

    Estou assumindo que esse preenchimento é manual.

    A forma mais fácil que vejo para resolver seu problema é você ocultar as colunas que queira que o Tab salte. Quando quiser ver todas as fórmulas de novo, basta desocultá-las.

    Então fica a pergunta: há a necessidade de ver o resultado das fórmulas na medida que você entra os dados?


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quinta-feira, 10 de março de 2016 21:06
    Moderador
  • Sim, tem necessidade sim, pois compartilho essa planilha e o pessoal do financeiro usa alguns dados da mesma. 
    sexta-feira, 11 de março de 2016 10:54
  • Você quer dizer que usa o recurso de "pasta de trabalho compartilhada" para pessoas acessarem simultaneamente?

    ---

    No seu caso, você deverá resolver o problema da seguinte forma: 

    1 - Selecione todas as colunas que você pretende editar.

    2 - Pressione Ctrl+1 para abrir a janela de formatação de células.

    3 - Na aba Proteção, desmarque a caixa de seleção Bloqueadas e depois clique em OK para voltar ao Excel.

    4 - Na guia Dados, clique em proteger planilha.

    5 - Na janela que aparecer, deixe marcado apenas o item "Selecionar células desbloqueadas".

    Como a finalidade dessa procedimento não é aumentar a segurança, mas sim a produtividade, não recomendo colocar uma senha na proteção da planilha.


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    sexta-feira, 11 de março de 2016 13:30
    Moderador
  • Valeu Funcionou, mas igual eu falei acima, outras pessoas usam essa planilha e as colunas que foram bloqueadas eles utilizam ela. 

    Mas de tudo foi boa a solução.

    Muito Obrigado.  

    quarta-feira, 16 de março de 2016 12:18
  • Você pode usar a macro abaixo para criar uma seleção personalizada e navegar com Tab, mas a desvantagem é que a variável SelectionAddress pode ter no máximo 255 caracteres:

    Sub Main()
        Const AFFECTED_COLUMNS As String = "B,D,F"
        Const START_ROW As Long = 5
        Const END_ROW As Long = 10
        
        Dim AffectedColumns() As String
        Dim iAffectedColumn As Variant
        Dim iRow As Long
        Dim SelectionAddress As String
        
        For iRow = START_ROW To END_ROW
            For Each iAffectedColumn In Split(AFFECTED_COLUMNS, ",")
                SelectionAddress = SelectionAddress & _
                                   Cells(iRow, iAffectedColumn).Address(0, 0) & _
                                   ","
            Next iAffectedColumn
        Next iRow
        
        SelectionAddress = Left(SelectionAddress, Len(SelectionAddress) - Len(","))
        Range(SelectionAddress).Select
    End Sub
    


    http://www.ambienteoffice.com.br - http://www.clarian.com.br

    quarta-feira, 16 de março de 2016 19:47
    Moderador