Como retornar a célula ativa no excel via VBA
Quando se deseja programar algo automático você deve sempre levar em consideração possíveis erros ou comportamento inesperados dos usuários.
Isso é muito importante para deixar sua programação mais completa e certeira possível.
Pois imagina a cena você querendo automatizar a cópia de um range para outro porém o range escolhido não é exatamente a fonte que deseja.
E isso pode possivelmente ocorrer caso seu código não esteja bem completo.
Por isso neste artigo vamos mostrar como você pode saber onde o usuário deixou o cursor para depois seguir na programação.
Então vamos começar.
Primeira caso é quando se deseja retornar o valor exato / absoluto da célula.
Por Exemplo "B8".
Neste caso você precisa usar o comando seguinte:
Range("B8") = ActiveCell.Range("A1").Address(False, False, xlA1)
Traduzindo esse comando, você vai inserir na célula "B8" o endereço da célula com o cursor posicionado.
Se seu cursor estiver posicionado na célula "A1" o resultado desse comando será exatamente "A1".
Segundo caso é quando se deseja retornar o valor relativo a uma determinada célula.
Por exemplo vamos supor que você deseja saber quantas colunas ou linhas seu cursor está posicionado de diferença da célula "A1".
Neste caso você pode usar a fórmula seguinte:
Range("B12") = ActiveCell.Range("A1").Address(False, False, xlR1C1)
Se você posicionar o cursor na célula "B2", o resultado desse comando será "R[1]C[1]".
Enfim isso quer dizer que você está com seu cursor posicionado 1 linha e 1 coluna de diferença da célula referente, neste caso a "A1".
Como retornar a célula ativa no excel via VBA
Gostou do conteúdo? Ele foi útil?
Se ainda ficou com alguma dúvida entre em contato conosco pelo email contato@exceleaccess.com.
Quer receber várias dicas no seu seu email?
Cadastre seu email aqui para receber várias dicas como essa por email.
Obrigado pela visita!
www.exceleaccess.com
contato@exceleaccess.com
www.exceleaccess.com
www.exceleaccess.com
www.exceleaccess.com