fechar

Aprender Excel

APRENDER EXCEL

DICAS E NOVIDADES SOBRE EXCEL

Como fazer o usuário forçar a execução de uma macro no Excel

por: Maximiliano Meyer em VBA, no dia 05/08 | 11:04 atualizado em 17/08 | 08:10

Já aprendemos aqui no site como criar diversas funções e rotinas para nossas planilhas através do VBA, porém, como nem tudo é perfeito, há sempre uma possível 'falha' nas nossas criações.

Funciona assim: Como as VBAs podem conter códigos maliciosos, o Windows, por segurança, as mantém bloqueadas até que o usuário as habilite. Isso pode ser muito ruim, pois imagine a situação: Você faz uma planilha com a macro que proíbe a cópia de conteúdo, afinal, possui dados que você não quer que sejam distribuídos por aí, mas, o usuário não ativa as macros, e, com isso, pode copiar o que quiser. Não serviu de nada a VBA, certo?

Por isso vamos aprender hoje como 'forçar' que ele ative as macros. Vamos lá:

Primeiramente vamos criar uma tela de aviso ao usuário. Fizemos a seguinte tela para o nosso exemplo, você pode reproduzi-la ou criar a sua própria.

Legal, certo? É preciso dar todas as instruções aos usuários, não se esqueça que nem sempre eles têm o mesmo conhecimento do que eu ou você e sabe determinado comando. A próxima parte será criar a planilha em que você irá inserir as informações que quer aos usuários.

Para criar uma planilha é só clicar no símbolo de + na barra de tarefas.

Com a Plan 2 criada, adicione os dados normalmente que você quer exibir, sejam eles números, fórmulas, imagens, gráficos, tabelas, etc. Para finalizar você terá que fazer um passo muito importante: Ocultar essa planilha de dados que acabou de criar. Para isso clique com o direito e clique em 'Ocultar'.

Bom, mas ainda não estamos totalmente seguros, certo? Afinal o usuário poderia fazer o caminho inverso e clicar em 're-exibir' e pronto, lá se ia nossa segurança. Para isso faremos o seguinte: Vá até a guia 'Revisão' e clique em 'Proteger Pasta de Trabalho', deixe o campo 'Estrutura' marcado e insira uma senha. No nosso caso eu colocarei '1234'.

O próximo passo será adicionar o código VBA. Para isso vá na área de edição de códigos, através do Alt + f11, por exemplo, e dê um duplo clique em 'EstaPasta_de_trabalho'. Na nova janela selecione 'Workbook' na primeira caixa de texto e 'Open' na segunda. Depois é só adicionar o código

Private Sub Workbook_Open()   
     
     ActiveWorkbook.Unprotect "1234"
     Sheets("Plan2").Visible = True
            
End Sub

Repare que se a sua senha for outra combinação que não o '1234' você terá de fazer a substituição no código VBA.

O próximo passo é fechar a janela de edição e salvar o arquivo como.

Interessante que esse código - assim como qualquer outro - pode ser utilizado em conjunto com demais macros. Você pode forçar o usuário a executar as macros e disparar a rotina que desejar e até onde sua criatividade conseguir te levar =D

Por fim é só você acessar esta aula e aprender como bloquear seus códigos VBA, afinal, até aqui não protegemos a edição das macros e qualquer um que apertar o atalho alt + f11 poderá fazer um estrago em nossa segurança. Dê uma olhadinha no post, são apenas 2 passos.

Uma última dica: Se a sua planilha de dados tiver um outro nome, como 'dados' ou 'relatório', por exemplo, o código deverá ser Sheets("dados").Visible = True e assim por diante. Veja o resultado final:

Até a próxima dica e abaixo o download, para você ver na prática como funciona esse sistema incrível que o Aprender Excel criou para você.

Problemas com o download?

Veja nosso tutorial e saiba como resolver qualquer tipo de problema que você enfrentar para baixar, abrir ou executar nossas planilhas.