Detalhes em VBA que poucas pessoas sabem Parte 7
Foto de Gutemberg S.
Por: Gutemberg S.
19 de Agosto de 2021

Detalhes em VBA que poucas pessoas sabem Parte 7

Value ou Select

Outras linguagens de programação VBA

Você sabia que não é necessário a aplicação de ‘Select’ para poder atribuir algum valor em uma célula e em até mesmo em ‘Sheets’ diferentes ou  ‘Workbooks’ diferentes? Se não, Leia este artigo para saber mais. Me chamo Gutemberg, tenho experiência com VBA Excel a mais de 10 anos, e te convido nessa incrível jornada desta fantástica tecnologia!!

Pois bem! Abra um módulo padrão em seu VBE, Visual Basic Editor de dentro do seu Excel:

1º Passo – Com o seu excel aberto dê um Alt + F11, para abrir o VBE;
2º Passo – Em seguida insira um módulo através do menu/opção Inserir/Módulo;
3º Passo – Digite, ou copie, o seguinte exemplo básico abaixo dentro do módulo, este exemplo é apenas didático e servirá para comprovar o que estou falando, imagine que você tenha 2 sheets de nome Plan1 e PLan2 na mesma pasta de trabalho e que queira atribuir o valor que se encontra na sheet “Plan1” na célula ‘A1’ na célula ‘A1’ da sheet ‘Plan2’:

Sub valueSelect()

    Sheets(“Plan2”).Range(“A1”).Value  = Sheets(“Plan1”).Range(“A1”).Value

End Sub

Ao invés de:

Sub valueSelect()

     Sheets("Plan1").Select  ‘ Caso ainda tiver de ser selecionada
     Sheet(“Plan1”).Range(“A1”).Copy
     Sheets("Plan2").Select
     Range(“A1”).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

End Sub

4º Passo – Dê ‘F5’ para executar, ou clique no botão de executar que possui um desenho de uma seta verde apontando para a direita na parte superior do Editor. Note que, as 2 formas ou técnicas resultam no mesmo resultado, porém, a 1ª é mais performática em 2 pontos a saber: 1º A redução de linhas para se fazer determinada a ação e consequentemente melhor para manutenções futuras; 2º Por não mexer na área de transferência do Windows, a 1ª forma é mais performática no que diz respeito a utilização da memória do seu pc.

A 2ª forma é derivada do gravador de macros e, portanto, deve ser evitada na medida em que você progride no conhecimento desta tecnologia. Raramente utilizo a segunda forma, há casos em que ela deverá ser aplicada, porém, raríssimas vezes.

Uma coisa que temos de ter em mente é, não é necessário para a atribuição de valor em uma célula o método de selecionar, pois, este é um recurso do gravador e serve para quem esta aprendendo macros, logo, se você desejar ser conhecido como um verdadeiro dev em VBA, deverá abolir esta prática dentre outras.

Sub valueSelect()

    Sheets(“Plan2”).Range(“A1”)  = Sheets(“Plan1”).Range(“A1”)

End Sub

Espero que tenham gostado e, se puder, deixarem aquele comentário ‘maroto’, ficarei grato. Há, ainda, a possibilidade de omitirmos a propriedade Value, ou seja, execute o exemplo abaixo e note que rodará sem problemas.

Até a Próxima!!

Gutemberg S.
Gutemberg S.
Duque de Caxias / RJ
Responde em 1 dia
Identidade verificada
1ª hora grátis
3,9
nota média
11
avaliações
R$ 40
por hora
Professor apaixonado pela informática e pela programação com mais de 5 anos de experiência. Venha aprender com quem ama o que faz!!

Confira artigos similares

Aprenda sobre qualquer assunto