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 calcular o VPL – Valor Presente Líquido

COMO CALCULAR O VPL O que é o VPL - Valor Presente Líquido Neste artigo você aprenderá a calcular o VPL. Valor Presente líquido é um dos cálculos mais comuns em finanças. Com ele podemos determinar valores de empresas, saber o valor de retorno de um projeto dentre...

ler mais

Função Valor Futuro (VF) no Excel

O QUE É E COMO UTILIZAR A FUNÇÃO VALOR FUTURO (VF) NO EXCEL A função valor futuro, como o próprio nome diz, calcula um determinado valor monetário em uma data futura, aplicando-se uma taxa de juros qualquer. Para fins de exemplo, imagine que você pretenda aplicar...

ler mais
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)