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 😉

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

Como Fazer Uma Tabela no Excel

COMO FAZER UMA TABELA NO EXCEL A partir da versão do Excel 2007 foi introduzido um recurso fantástico: a Tabela (não confunda com a tabela de dados, que é outra coisa - você pode entendê-la melhor aqui). Neste tutorial você aprenderá como fazer uma tabela no Excel....

ler mais

Função SES

FUNÇÃO SES Se você usa a função SE com diversas condições (escrevemos mais sobre isto aqui), temos uma nova função a partir do Excel 2016. Ela é a função SES. Basicamente a função SES condensa dezenas de SE dentro de uma única função, eliminando a necessidade de se...

ler mais

Como Importar o Facebook para o Excel

Como importar o Facebook para o Excel Já pensou em analisar seu feed do Facebook no Excel, quem sabe usando uma tabela dinâmica, filtros, ou simplesmente ter um histórico das besteiras coisas legais que você escreve? Existe um método relativamente simples para...

ler mais
Comentários
Fabio Vianna
Siga-Me

Fabio Vianna

Modela planilhas deste 1994 e ministra treinamentos desde 1997.
Especialista em Modelagem Profissional de Planilhas, incluindo Dashboards no Excel.
Fabio Vianna
Siga-Me

Últimos posts por Fabio Vianna (exibir todos)

Receba nossa Agenda

Cadastre-se para receber nossa agenda de treinamentos.

Obrigado :)