fbpx

DICAS DE VBA

as 3 que farão toda a diferença para você

DICAS DE VBA: 3 COISAS QUE QUASE NINGUÉM SABE FAZER

Não faz muito tempo descobri três dicas de VBA bastante simples, porém extremamente úteis.

Vamos a elas:

1. Deixar de exibir as macros na tela “Macros” usando o Option Private Module

De todas as 3 dicas de vba que mostrarei aqui, esta é a que achei mais interessante, porque não deixa aparecer na tela de macros aquele monte de macros para a pessoa ficar tentando rodar.

Quando você grava ou escreve uma macro e a deixa em um módulo, ela fica disponível para o usuário executá-la pela interface do Excel, via menu Desenvolvedor ou via tecla de atalho ALT + F8.

Veja:

DICAS DE VBA

 

 

 

 

 

 

 

 

Para fins de exemplo, coloquei uma macro em cada módulo.

Agora, vou até o módulo1, onde está a macro HelloW e colocarei o seguinte comando:

OPTION PRIVATE MODULE

Agora, ao retornar à planilha e abrir a tela da macro, veremos somente a macro que está no Módulo onde não colocamos este código:

DICAS DE VBA

 

 

 

 

 

Ah, sim, faça isto somente DEPOIS que tiver associado os botões às macros 😉

[irp posts=”1707″ name=”Inserir linhas em branco (com e sem VBA)”]

2. Impeça que a pessoa use o Salvar Como com o SaveAsUI

(obviamente que um usuário ~motivado~é capaz de fazer tudo, então não ache que vai evitar que aquele seu primo fuçador de planilhas não vá conseguir burlar isto)

Imagine que você tenha um arquivo e não deseja que a pessoa salve-o com outro nome, evitando que você perca alguma alteração importante que tenha sido feita e tenha sido salva somente em uma versão com nome diferente.

Então, você deseja apenas que a pessoa salve o arquivo, mas quer desabilitar a opção de Salvar Como.

Para fazer isto, você deverá usar a variável SaveAsUi presente no evento Before_Save.

Abra o editor de VBA e vá em EstaPasta_de_trabalho. Nela, selecione o objeto workbook e o evento Before Save:

DICAS DE VBA

 

 

 

Veja que ela possui dois argumentos: o SaveAsUI e o Cancel, ambos do tipo boolean (verdadeiro/falso).

Quando o SaveAsUI é TRUE, significa que o salvamento foi chamado através do comando Salvar como, e quando SaveAsUI é FALSE, ele foi chamado pelo comando Salvar.

Se quisermos anular a possibilidade da pessoa Salvar Como, poderíamos colocar um código assim:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Cancel = SaveAsUI

End Sub

Isto significa que o evento será cancelado (isto é, não salvará) se o SaveAsUI for TRUE, isto é, se a tela de Salvar Como for utilizada.

Daí você pode pensar em colocar alguma caixa de mensagem alertando, ou simplesmente ‘deixar quieto’, como no exemplo acima; se a pessoa tentar salvar como, nada vai acontecer.

3. Use o comando Run ao invés de Call

Quando se deseja chamar alguma rotina a partir de outra,  a forma mais comum é usar o comando Call suamacro

Existe outro comando que também roda a macro, mas que pode ser usado de forma mais flexível, que é o Run.

A sintaxe dele é Run(“suamacro”) e sua principal vantagem é quando o nome da macro é composto a partir de variáveis, ou se você deseja rodar a macro que esteja em outro arquivo.

Você poderia por exemplo escrever Application.Run(“Macro” & variavel) no caso de ter várias macros chamadas Macro1, macro2, etc.

Ou ainda, chamar uma macro que esteja em outro arquivo: Application.Run(“‘nome do arquivo’!nomedamacro”)

O que achou destas dicas de vba? Já conhecia alguma delas? Sabe de outra e quer compartilhar?

 

Licença Creative Commons

OUTROS ARTIGOS DE INTERESSE

quatro motivos para voce parar de usar o procv

quatro motivos para voce parar de usar o procv

Já são 40 anos de idade O Excel 1.0 foi criado em 1982. São quase 40 anos de existência. Apesar de ter começado minha carreira usando o Excel 5.0 tenho certeza de que a função PROCV existia nela (pelo menos no 5.0 tinha!). Então estamos hoje, no séc. XXI obcecados em...

ler mais
Como utilizar a Função Filtro

Como utilizar a Função Filtro

Certamente você no mínimo já ouviu falar do recurso de FILTRO do Excel. Nele você consegue mostrar somente linhas de uma planilha que atendem a um ou mais critérios. Além disso você poderia usar também o filtro avançado, cuja principal diferença é a possibilidade de...

ler mais

Função PROCX

Como usar a função PROCX Recentemente a Microsoft incluiu uma nova função em seu arsenal de funções de procura a referência, a função PROCX. Além de servir como um substituto para o famoso PROCV, ela também utiliza a nova funcionalidade, que é apresentar a resposta em...

ler mais
Fabio Vianna
Siga-Me
Nossas Redes Sociais
Facebook
Linkedin
Instagram
Youtube